我使用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()
但输出似乎有线,因为顶部和顶部框架被挤压,我想知道是否有任何解决这个问题,使顶部和顶部的高度与底部的高度相同。
答案 0 :(得分:1)
来自Qt Doc,QSplitter
有一个setSize
方法:
void QSplitter::setSizes(const QList<int> & list)
将子窗口小部件各自的大小设置为给定的值 列表。
如果分割器是水平的,则值设置每个的宽度 小部件,以像素为单位,从左到右。如果分离器是垂直的,那么 每个小部件的高度从上到下设置。
...
此外,对于任何QWidget
,您都可以使用setMinimumSize
。