我在网上找到了一些关于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_())
右下角是原始GUI的样子。
当我水平调整窗口小部件时,右上角就是GUI的样子。
当我垂直调整小部件的大小时,左侧是GUI的样子。
似乎那些标签和按钮将遵循水平变化,但是当主要窗口小部件垂直变化时,无法更改。有没有办法用QFormLayout
垂直扩展小部件?