标签: qboxlayout

addStretch究竟是如何在QBoxLayout中工作的?

我正在做一个关于盒子布局的PyQt4教程.但我不明白它是如何addStretch运作的.

  • 如果我使用vbox.addStretch(1)hbox.addStretch(1),则两个按钮显示在右下方.为什么?
  • 如果我评论vbox.addStretch(1)hbox.addStretch(1)退出,两个按钮出现在我的窗口中央,它们可以水平变形,但不能垂直变形.为什么?
  • 如果我改变值"1"没有区别......那么这个值有什么作用呢?

以下是我正在使用的代码:

import sys
from PyQt4 import QtGui

class BoxLayout(QtGui.QWidget):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)

        self.setWindowTitle('box layout')

        ok = QtGui.QPushButton("OK")
        cancel = QtGui.QPushButton("Cancel")

        vbox = QtGui.QHBoxLayout()
        vbox.addStretch(1)
        vbox.addWidget(ok)
        vbox.addWidget(cancel)

        hbox = QtGui.QVBoxLayout()
        hbox.addStretch(1)
        hbox.addLayout(vbox)

        self.setLayout(hbox)

        self.resize(100, 100)

app = QtGui.QApplication(sys.argv)
qb = BoxLayout()
qb.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

python layout pyqt qboxlayout

19
推荐指数
1
解决办法
2万
查看次数

标签 统计

layout ×1

pyqt ×1

python ×1

qboxlayout ×1