2011-10-01 313 views
0

我正在用Python編寫一個小Qt應用程序。我創建了QMainWindow,它有一個QGridLayout。在每個網格中,我添加了QTextBrowser Widget。我想讓我的網格左側不超過窗口的25%。所以我會有兩個QTextBrowser:一個是窗口寬度的25%,另一個是窗口寬度的75%。我該怎麼做?謝謝!PyQt4:設置QGridLayout的大小取決於QMainWindow的大小

回答

2

您可以通過給每個單元格指定相對寬度來指定相對寬度,其中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_() 

但是,請記住,窗口小部件在默認情況下具有最小尺寸。所以他們可以低於這個水平。如果您還想改變這種行爲,請考慮根據自己的喜好設置最小尺寸。