我在网上找到了一些关于 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 的样子。
这些标签和按钮似乎会随着水平变化而变化,但随着主小部件垂直变化而未能改变。有没有办法让所有按钮和标签动态变化?