目录

QFormLayout

QFormLayout是创建两个列表单的便捷方式,其中每一行包含与标签关联的输入字段。 作为约定,左列包含标签,右列包含输入字段。 主要有三个addRow()方法的重载addLayout()是常用的。

Sr.No. 方法和描述
1

addRow(QLabel, QWidget)

添加包含标签和输入字段的行

2

addRow(QLabel, QLayout)

在第二列中添加子布局

3

addRow(QWidget)

添加跨两列的小部件

例子 (Example)

此代码将LineEdit字段添加到第一行中的输入名称。 然后,它为下一行的第二列中的两个地址字段添加垂直框布局。 接下来,在第三行的第二列中添加包含两个单选按钮字段的水平框布局对象。 第四行显示两个按钮“提交”和“取消”。

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_())
if __name__ == '__main__':
   window()

上面的代码产生以下输出 -

QFormLayout类输出
↑回到顶部↑
WIKI教程 @2018