PYQT布局和setgeometry基本概述

Ane*_*tin 8 python pyqt

我试图让我的qsplitlines在我的程序启动时设置为基本形状.我一直在玩setgerometry(x,x,x,x)中的4个数字.我可以得到一个简单的解释它们的相关性吗?

从顶部,?,从左边,?

(从顶部开始,从左边开始,继续,从哪个行开始)

hbox = QtGui.QHBoxLayout(self)

topleft = QtGui.QFrame(self)
topleft.setFrameShape(QtGui.QFrame.StyledPanel)
topleft.setGeometry(0, 0, 300, 0)

topright = QtGui.QFrame(self)
topright.setFrameShape(QtGui.QFrame.StyledPanel)
topright.setGeometry(0, 320, 1000, 0)

bottom = QtGui.QFrame(self)
bottom.setFrameShape(QtGui.QFrame.StyledPanel)
bottom.setGeometry(1210, 0, 1280, 0)

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)
#QtGui.QApplication.setStyle(QtGui.QStyleFactory.create('Cleanlooks'))
Run Code Online (Sandbox Code Playgroud)

And*_*ndy 22

我将向您展示如何在底部的答案之前完成文档.从长远来看,它会对你有所帮助.

QFrame文档开始.您正在寻找一种setGeometry方法.您会注意到没有一个,但QFrame确实继承了QWidget

转到QWidget文档,您会发现有两种setGeometry方法

QWidget.setGeometry (self, QRect)
Run Code Online (Sandbox Code Playgroud)

QWidget.setGeometry (self, int ax, int ay, int aw, int ah)
Run Code Online (Sandbox Code Playgroud)

第一个采用a QRect,第二个采用一系列整数.我们来看看QRect文档吧:

可以使用一组左,顶,宽和高整数构造QRect

这与另一种方法采用的一系列整数对齐.Qt文档中的这张图片有助于解释它:

窗口几何

因此,你的整数是:

  • X坐标
  • Y坐标
  • 框架的宽度
  • 框架的高度