找回密码
 立即注册
首页 python pyqt 查看内容
PyQt5表单布局可以使用QFormLayout类创建表单。这是创建窗口小部件(输入)具有描述(标签)的表单的最简单方法。


在本文中,我们将向您展示如何使用pyqt创建表单。



表单布局示例
使用类QFormLayout创建表单布局。我们可以使用addRow方法向表单添加行。该方法定义为

addRow(QWidget * label, QWidget * field)

我们使用两个小部件调用该方法,其中第一个是标签,第二个是小部件的类型。
from PyQt5.QtWidgets import (QApplication, QComboBox, QDialog,
        QDialogButtonBox, QFormLayout, QGridLayout, QGroupBox, QHBoxLayout,
        QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QSpinBox, QTextEdit,
        QVBoxLayout)
 
import sys
 
class Dialog(QDialog):
    NumGridRows = 3
    NumButtons = 4
 
    def __init__(self):
        super(Dialog, self).__init__()
        self.createFormGroupBox()
 
        buttonBox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
        buttonBox.accepted.connect(self.accept)
        buttonBox.rejected.connect(self.reject)
 
        mainLayout = QVBoxLayout()
        mainLayout.addWidget(self.formGroupBox)
        mainLayout.addWidget(buttonBox)
        self.setLayout(mainLayout)
 
        self.setWindowTitle("Form Layout - pythonspot.com")
 
    def createFormGroupBox(self):
        self.formGroupBox = QGroupBox("Form layout")
        layout = QFormLayout()
        layout.addRow(QLabel("Name:"), QLineEdit())
        layout.addRow(QLabel("Country:"), QComboBox())
        layout.addRow(QLabel("Age:"), QSpinBox())
        self.formGroupBox.setLayout(layout)
 
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    dialog = Dialog()
sys.exit(dialog.exec_())


分享至 : QQ空间
收藏
您需要登录后才可以回帖 登录 | 立即注册