2015-09-25 856 views
2

我试图让我的qsplitlines设置为我的程序启动时的基本形状。我一直在使用setgerometry中的4个数字(x,x,x,x)我是否可以简单解释它们之间的关系?PYQT布局和setgeometry基本概述

从顶部,?,左起,?

(低于顶部开始,从左至右,持续,跨越它多少行SPAS)

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')) 

回答

7

我将向你展示如何在底部的答案之前,通过文档行走。从长远来看它会帮助你。

QFrame文档开始。您正在寻找setGeometry方法。你会发现,没有之一,但QFrame不从QWidget

要去QWidget文档继承,你会发现,有两种方法setGeometry

QWidget.setGeometry (self, QRect) 

QWidget.setGeometry (self, int ax, int ay, int aw, int ah) 

第一个需要QRect,第二个需要一系列整数。让我们来看看QRect文档太:

一个查阅QRect可以用一组的构造左,上,宽度和高度的整数

这行了一系列整数的另一种方法利用了。这从Qt Documentation图像有助于解释:

Window Geometry

因此,你的整数是:

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

谢谢先生。我搜索了一会儿,没有找到很多文档。 – Anekdotin