0
我试图强制我的QTextEdit
Widget跨越QGridLayout
的整个单元格。 我尝试了很多QSizePolicy
和sizeHint()
的不同组合,但没有任何效果。在pyqt中展开Widget
在下面的示例中,我有一个最小尺寸为800x600的主窗口小部件和第1列中另一个窗口大小为100x100的窗口部件。所以我希望列0中的QTextEdit
为700x600。
一般来说,如果我的主窗口小部件的尺寸调整为nxm,我想'编辑'为(n- blue.width()
)xm。
import sys
from PyQt5 import QtWidgets, QtCore
if __name__ == '__main__':
qApp = QtWidgets.QApplication(sys.argv)
mainWidget = QtWidgets.QWidget()
mainWidget.setMinimumSize(800, 600)
mainLayout = QtWidgets.QGridLayout(mainWidget)
blue = QtWidgets.QWidget(mainWidget)
blue.setStyleSheet('background-color: blue')
blue.setFixedSize(100, 100)
edit = QtWidgets.QTextEdit(mainWidget)
### what to do here?
policy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
QtWidgets.QSizePolicy.Expanding)
edit.setSizePolicy(policy)
###
mainLayout.addWidget(edit, 0, 0, 1, 1, QtCore.Qt.AlignCenter)
mainLayout.addWidget(blue, 0, 1, 1, 1, QtCore.Qt.AlignCenter)
mainLayout.setColumnStretch(0, 1)
mainLayout.setColumnStretch(1, 0)
mainWidget.setLayout(mainLayout)
mainWidget.show()
sys.exit(qApp.exec_())
谢谢你,有一个原因?我的理解是,协调和规模政策是独立的?在这个例子中,对齐当然是不必要的。 – Jonas