如何使用QFormLayout使窗口小部件垂直展开?

时间:2017-02-27 18:20:49

标签: python layout pyqt

我在网上找到了一些关于QFormLayout的教程代码:

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *

def window():
    app = QApplication(sys.argv)
    win = QWidget()

    l1 = QLabel("Name")
    nm = QLineEdit()

    l2 = QLabel("Address")
    add1 = QLineEdit()
    add2 = QLineEdit()
    fbox = QFormLayout()
    fbox.addRow(l1, nm)
    vbox = QVBoxLayout()

    vbox.addWidget(add1)
    vbox.addWidget(add2)
    fbox.addRow(l2, vbox)
    hbox = QHBoxLayout()

    r1 = QRadioButton("Male")
    r2 = QRadioButton("Female")
    hbox.addWidget(r1)
    hbox.addWidget(r2)
    hbox.addStretch()
    fbox.addRow(QLabel("sex"), hbox)
    fbox.addRow(QPushButton("Submit"), QPushButton("Cancel"))
    win.setLayout(fbox)

    win.setWindowTitle("PyQt")
    win.show()
    sys.exit(app.exec_())

screenshots

右下角是原始GUI的样子。

当我水平调整窗口小部件时,右上角就是GUI的样子。

当我垂直调整小部件的大小时,左侧是GUI的样子。

似乎那些标签和按钮将遵循水平变化,但是当主要窗口小部件垂直变化时,无法更改。有没有办法用QFormLayout垂直扩展小部件?

0 个答案:

没有答案