'''
QFormLayout(表单布局)是一种用于创建两列布局的类,通常用于显示具有标签和相应输入字段的表单式界面。
基本结构:
QFormLayout 将界面分为两列,一列用于显示标签(如“用户名”、“密码”等),
另一列用于对应的输入控件(如 QLineEdit、QComboBox 等)。
常用方法:
addRow(label, [widget,layout]) 方法添加一行,其中 label 是一个 QLabel 对象或字符串表示的标签文本,
setRowWrapPolicy()跨越多行:某些控件可能需要跨越多行,例如一个大的文本编辑区域,
可以使用 该方法来设置行的换行策略。
rowCount():获取总行数
间距和边距:
可以像其他布局一样,使用 setSpacing 来设置控件之间的间距,使用 setContentsMargins 来设置布局的边距。
'''
from PySide6.QtWidgets import *
from PySide6.QtCore import *
from PySide6.QtGui import *
class Window(QWidget):
def __init__(self):
super().__init__()
# self.resize(300,300)
self.setWindowTitle("QFormLayout表单布局")
self.setStyleSheet("font-size:20px;color:red")
self.label_user = QLabel("用户名:")
self.label_pwd = QLabel("年龄:")
self.le_user = QLineEdit()
self.le_pwd = QLineEdit()
self.btn = QPushButton("确定")
h_layout = QHBoxLayout()
radio = QRadioButton("男")
radio2 = QRadioButton("女")
h_layout.addWidget(radio)
h_layout.addWidget(radio2)
#创建一个表单布局器
form_layout = QFormLayout()
# 表单布局器添加控件
# form_layout.addRow(self.label_user,self.le_user)
# form_layout.addRow(self.label_pwd,self.le_pwd)
form_layout.addRow("用户名:", self.le_user)
form_layout.addRow("密 码:", self.le_pwd)
form_layout.addRow("性别:",h_layout)
form_layout.addRow(self.btn)
form_layout.setSpacing(30)
form_layout.setContentsMargins(30,50,30,30)
# form_layout.setRowWrapPolicy(QFormLayout.RowWrapPolicy.WrapAllRows)
form_layout.setFieldGrowthPolicy(QFormLayout.FieldGrowthPolicy.FieldsStayAtSizeHint)
# form_layout.addWidget(self.label_user)
# form_layout.addWidget(self.le_user)
#给窗口设置布局器
self.setLayout(form_layout)
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
win = Window()
win.show()
sys.exit(app.exec())


承担因您的行为而导致的法律责任,
本站有权保留或删除有争议评论。
参与本评论即表明您已经阅读并接受
上述条款。