PyQt4:根据QMainWindow的大小设置QGridLayout的大小



我正在用Python编写一个小Qt应用程序。我已经创建了QMainWindow,它有一个QGridLayout。在每个网格中,我添加QTextBrowser小部件。我想让我的网格的左边不大于窗口的25%。所以我将有两个qtextbrowser:一个是窗口宽度的25%,另一个是窗口宽度的75%。我该怎么做呢?谢谢!

您可以通过setStretch()给每个单元格一个拉伸来指定相对宽度。它们将得到与给定拉伸成比例的大小。下面是一个简单的例子,使右边的小部件比左边的小部件大3倍。

import sys
from PyQt4 import QtGui
if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    Q = QtGui.QWidget()
    H = QtGui.QHBoxLayout()
    H.addWidget(QtGui.QTextBrowser())
    H.setStretch(0,1)
    H.addWidget(QtGui.QTextBrowser())
    H.setStretch(1,3)
    Q.setLayout(H)
    Q.show()
    app.exec_()

但是,请记住,小部件默认具有最小大小。所以它们可以缩小到这下面。如果您也想改变这种行为,请考虑根据自己的喜好设置最小尺寸。

相关内容

  • 没有找到相关文章

最新更新