【问题标题】:PYQT layout and setgeometry basic overviewPYQT布局和setgeometry基本概述
【发布时间】:2015-09-26 02:01:54
【问题描述】:

我试图让我的 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'))

【问题讨论】:

    标签: python pyqt


    【解决方案1】:

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

    QFrame 文档开始。您正在寻找setGeometry 方法。您会注意到没有,但 QFrame 确实继承自 QWidget

    转到QWidget 文档你会发现有两个setGeometry 方法

    QWidget.setGeometry (self, QRect)
    

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

    第一个采用QRect,第二个采用一系列整数。让我们也看看QRect 文档:

    一个QRect可以用一组left、top、width和height整数构造

    这与其他方法采用的整数系列一致。来自Qt Documentation 的这张图片有助于解释它:

    因此,您的整数是:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-23
      • 2021-06-10
      • 2016-09-30
      相关资源
      最近更新 更多