PyQt6 表单布局Form Layout (QFormLayout)

锋哥原创的PyQt6视频教程:

2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计43条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~、第2讲 PyQt6库和工具库QTDesigner安装与配置、第3讲 PyQt6第一个程序HelloWorld实现等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV11C4y1P7fj/

FormLayout控件表示表单布局,它的基类是QFormLayout,该控件以表单方式进行布局。

表单是一种网页中常见的与用户交互的方式,其主要由两列组成,第一列用来显示信息,给用户提示,而第二列需要用户进行输入或者选择

QFormLayout常用方法:

方法说明
addRow()添加行
insertRow()插入行
removeRow()删除行
getWidgetPosition()获取控件位置
getLayoutPosition()获取容器管理器位置
rowCount()获取行的总个数
setLayout()设置布局管理器的位置
setWidget()修改控件位置
takeRow()移除行但并不删除子控件
labelForField()标签操作
setRowWrapPolicy()设置行的包装策略
rowWrapPolicy()获取行的包装策略
setFormAlignment()对其方式,对整个表单进行设置
setLabelAlignment()对其方式,对标签(左侧区域)进行设置
formAlignment()对其方式,获取整个表单的对齐方式
labelAlignment()对其方式,获取标签布局标签(左侧)侧的对齐方式
setFieldGrowthPolicy()设置字段增长策略
fieldGrowthPolicy()获取字段增长策略

UI生成参考代码:

from PyQt6 import QtCore, QtGui, QtWidgetsclass Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(649, 520)self.formLayoutWidget = QtWidgets.QWidget(parent=Form)self.formLayoutWidget.setGeometry(QtCore.QRect(110, 60, 471, 371))self.formLayoutWidget.setObjectName("formLayoutWidget")self.formLayout = QtWidgets.QFormLayout(self.formLayoutWidget)self.formLayout.setLabelAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)self.formLayout.setFormAlignment(QtCore.Qt.AlignmentFlag.AlignLeading|QtCore.Qt.AlignmentFlag.AlignLeft|QtCore.Qt.AlignmentFlag.AlignTop)self.formLayout.setContentsMargins(20, 50, 20, 0)self.formLayout.setHorizontalSpacing(20)self.formLayout.setVerticalSpacing(30)self.formLayout.setObjectName("formLayout")self.label = QtWidgets.QLabel(parent=self.formLayoutWidget)self.label.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)self.label.setObjectName("label")self.formLayout.setWidget(0, QtWidgets.QFormLayout.ItemRole.SpanningRole, self.label)self.label_2 = QtWidgets.QLabel(parent=self.formLayoutWidget)self.label_2.setObjectName("label_2")self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_2)self.lineEdit = QtWidgets.QLineEdit(parent=self.formLayoutWidget)self.lineEdit.setObjectName("lineEdit")self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.lineEdit)self.label_3 = QtWidgets.QLabel(parent=self.formLayoutWidget)self.label_3.setObjectName("label_3")self.formLayout.setWidget(2, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_3)self.lineEdit_2 = QtWidgets.QLineEdit(parent=self.formLayoutWidget)self.lineEdit_2.setObjectName("lineEdit_2")self.formLayout.setWidget(2, QtWidgets.QFormLayout.ItemRole.FieldRole, self.lineEdit_2)self.label_4 = QtWidgets.QLabel(parent=self.formLayoutWidget)self.label_4.setObjectName("label_4")self.formLayout.setWidget(3, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_4)self.lineEdit_3 = QtWidgets.QLineEdit(parent=self.formLayoutWidget)self.lineEdit_3.setObjectName("lineEdit_3")self.formLayout.setWidget(3, QtWidgets.QFormLayout.ItemRole.FieldRole, self.lineEdit_3)self.pushButton = QtWidgets.QPushButton(parent=self.formLayoutWidget)self.pushButton.setObjectName("pushButton")self.formLayout.setWidget(4, QtWidgets.QFormLayout.ItemRole.FieldRole, self.pushButton)self.retranslateUi(Form)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate = QtCore.QCoreApplication.translateForm.setWindowTitle(_translate("Form", "Form"))self.label.setText(_translate("Form", "用户注册"))self.label_2.setText(_translate("Form", "用户名:"))self.label_3.setText(_translate("Form", "密码:"))self.label_4.setText(_translate("Form", "确认密码:"))self.pushButton.setText(_translate("Form", "注册"))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/267350.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ERROR: [BD 41-237] Bus Interface property FREQ_HZ does not match between

在自定义IP出现以上错误时可以通过双击模块clk属性 如果是灰色无法二次编辑时,在封装IP时,选择以下菜单

文献计量学方法与应用、主题确定、检索与数据采集、VOSviewer可视化绘图、Citespace可视化绘图、R语言文献计量学绘图分析

目录 一、文献计量学方法与应用简介 二、主题确定、检索与数据采集 三、VOSviewer可视化绘图 四、Citespace可视化绘图 五、R语言文献计量学绘图分析 六、论文写作 七、论文投稿 更多应用 文献计量学是指用数学和统计学的方法,定量地分析一切知识载体的交叉…

【组合数学】递推关系

目录 1. 递推关系建立2. 常系数齐次递推关系的求解3. 常系数非齐次递推关系的求解4. 迭代法 1. 递推关系建立 给定一个数的序列 f ( 0 ) , f ( 1 ) , . . . , f ( n ) , . . . , f (0), f(1), ..., f(n ),... , f(0),f(1),...,f(n),..., 若存在整数 n 0 n_0 n0​ &#xff…

数据库系统(二)数据库关系代数 | 选择 投影 笛卡尔积 自然连接 外连接等

文章目录 1 单张表运算1.1 选择1.2 投影 2 多张表之间运算2.1 笛卡尔积2.2 Theta连接 操作2.3 自然连接操作2.4 外连接2.5 并,交,差运算2.6 除法 3 其他3.1 赋值操作3.2 重命名 1 单张表运算 1.1 选择 选择就是从一个表中选择满足条件的一些元组 “Pr…

APP自动化测试工具大全

一、UI自动化测试工具 1. uiautomator2 openatx开源的ui自动化工具,支持Android和iOS。主要面向的编程语言是Python,API设计简洁易用,在开源社区也是很受欢迎。 安装: pip install --upgrade --pre uiautomator2# Or you can …

day23_jdbc详解

JDBC JDBC概述 什么jdbc Java DataBase Connectivity是一种用于执行SQL语句的Java API,它由一组用Java语言编写的类和接口组成。通过这些类和接口,JDBC把SQL语句发送给不同类型的数据库进行处理并接收处理结果。 jdbc的作用 提供java 操作不同数据库…

Blender学习--制作带骨骼动画的机器人

1. 首先创建一个机器人模型 时间关系,这部分步骤有时间补充 2. 然后为机器人创建一副骨架 时间关系,这部分步骤有时间补充 3.骨骼绑定 切换到物体模式,选中机器人头部,Shift选中骨骼,切换到姿态模式,&am…

【Linux】进程周边002之进程状态

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》 🌝每一个不曾起舞的日子,都是对生命的辜负 目录 前言 1.什么是状态? …

零拷贝的方式以及理解

零拷贝的方式以及理解 DMAmmapsendfilesendfile DMA scatter / Gatherdirect I/O 上一篇: 什么是零拷贝 DMA 正常的IO流程中,不管是物理设备之间的数据拷贝(比如:磁盘到内存),还是内存之间的数据拷贝(比…

rv1126-rv1109-以太网功能-eth-(调试篇)

先参考:以太网常见问题处理方法排查手册.pdf 调试指令: 1.首先dts修改 参考:Rockchip_Developer_Guide_Linux_GMAC_Mode_Configuration_CN.pdf 2.芯片地址尝试匹配 0~3地址都试下 &mdio { phy: phy0 { compatible "ethernet-phy-ieee802.3-c22"; reg <0…

C++之STL算法(1)

STL容器算法主要由、、组成&#xff1b;   algorithm主要有遍历、比较、交换、查找、拷贝、修改等&#xff1b; 1.遍历容器for_each for_each()函数用于完成容器遍历&#xff0c;函数参数如下&#xff1a; for_each(_InIt _First, _InIt _Last, _Fn _Func) 形参&#xff1a…

中伟视界:煤矿行业借力人工智能,防控灾害风险迈出新步伐 《“十四五”矿山安全生产规划》(应急(2022)64号),煤矿重大灾害风险防控系统

随着煤矿行业的发展&#xff0c;煤矿重大灾害风险防控成为了行业关注的重点之一。为了更好地预防和应对灾害风险&#xff0c;煤矿行业开始引入人工智能分析算法和检测场景&#xff0c;以提高灾害风险的识别和预警能力。 在煤矿的重大灾害风险防控中&#xff0c;AI算法发挥着重要…