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