PyQt5 QFormLayout类

PyQt5 QFormLayout类

QFormLayout 是一种方便的方式来创建两列表单,每一行都包含一个与标签相关联的输入字段。按照惯例,左列包含标签,右列包含输入字段。主要有三种重载的 addRow() 方法和 addLayout() 方法常用。

序号 方法与描述
1 addRow(QLabel, QWidget) 添加一个包含标签和输入字段的行
2 addRow(QLabel, QLayout) 在第二列添加一个子布局
3 addRow(QWidget) 添加一个跨越两列的小部件

示例

这段代码在第一行中添加了一个 LineEdit 字段来输入姓名。然后在下一行的第二列中添加了一个垂直盒式布局,用于显示两个地址字段。接下来,在第三行的第二列中添加了一个包含两个 Radio button 字段的水平盒式布局对象。第四行显示了两个按钮:“提交”和“取消”。

import sys 
from PyQt5.QtCore import * 
from PyQt5.QtGui import * 
from PyQt5.QtWidgets 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()

上述代码产生以下输出 −

PyQt5 QFormLayout类

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程