2015-10-15 44 views
-1

我使用PyQt4的QHBoxLayout,負責對創造與多幀的窗口,這裏是我的我的代碼PyQt4的QHBoxLayout,負責細胞的大小問題

def initUI(self):  

    hbox = QtGui.QHBoxLayout(self) 

    topleft = QtGui.QFrame(self) 
    topleft.setFrameShape(QtGui.QFrame.StyledPanel) 

    topright = QtGui.QFrame(self) 
    topright.setFrameShape(QtGui.QFrame.StyledPanel) 

    bottom = QtGui.QFrame(self) 
    bottom.setFrameShape(QtGui.QFrame.StyledPanel) 

    splitter1 = QtGui.QSplitter(QtCore.Qt.Horizontal) 
    splitter1.addWidget(topleft) 
    splitter1.addWidget(topright) 

    splitter2 = QtGui.QSplitter(QtCore.Qt.Vertical) 
    splitter2.addWidget(splitter1) 
    splitter2.addWidget(bottom) 

    hbox.addWidget(splitter2) 
    self.setLayout(hbox) 

    self.setGeometry(300, 300, 300, 200) 
    self.setWindowTitle('QtGui.QSplitter') 
    self.show() 

一部分,但輸出似乎有線,因爲toplift和topright框架被擠壓,我想知道是否有任何解決這個問題,使頂部的高度和頂部的高度與底部的高度相同。

enter image description here

回答

1

Qt DocQSplittersetSize方法:

void QSplitter::setSizes(const QList<int> & list)

設置子控件的大小分別在 列表給出的值。

如果分隔線是水平的,則這些值從左到右以像素爲單位設置每個 小部件的寬度。如果分離器是垂直的,則從上到下設置每個小部件的高度 。
...

此外,對於任何QWidget,您可以使用setMinimumSize