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.mzph.cn/news/216304.shtml

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

相关文章

easyexcel根据模板下载文件

为什么要使用EasyExcel easyExcel是阿里巴巴下在POI的基础上二次开发的开源api,以使用简单、节省内存著称。 POI由于在操作excel时是先将所有数据都读入内存后,再写入文件,比较消耗内存,特别是大数据量时,容易出现OOM…

(分页模拟)简单模拟操作系统分页管理

简单模拟一下内存分页,分配和回收。这里我就用最最最简化的方式没有技术含量。 每个进程维护一张页表,然后操作系统用位示图模拟内存分配情况(0: 未分配,1已经分配) import java.util.*;public class Main {public static int PAGE_COUNT …

Weblogic 数据库连接池溢出解决方法

引言 在信息运维工作中发现,由于部分应用系统编写的代码不够健壮,对于数据库连接没有及时进行回收处理,造成Weblogic数据库连接池溢出,影响系统的稳定运行。其实Weblogic提供了数据库连接的回收机制,可以将超过配置时…

基于redisson实现发布订阅(多服务间用避坑)

前言 今天要分享的是基于Redisson实现信息发布与订阅(以前分享过直接基于redis的实现),如果你是在多服务间基于redisson做信息传递,并且有服务压根就收不到信息,那你一定要看完。 今天其实重点是避坑&#xff0…

【华为数据之道学习笔记】3-9以特征提取为核心的非结构化数据管理

随着业务对大数据分析的需求日益增长,非结构化数据的管理逐 渐成为数据管理的重要组成部分。非结构化数据包括无格式文本、各类格式文档、图像、音频、视频等多种异构的格式文件,较之结构化数据,其更难标准化和理解,因此在存储、检…

第二证券:结构性行情或将延续 泛科技有望继续走强

展望未来,当时已进入重要的方针窗口期,能否有超预期的新方针推出是改变商场的要害。但复盘2023年的行情来看,过早买卖方针预期的成功率并不高,因而主张该方位以防御性资产为主,高股息资产从本年9月份至今现已调整了2个…

MMdetection3.0 训练DETR问题分析

MMdetection3.0 训练DETR问题分析 针对在MMdetection3.0框架下训练DETR模型,验证集AP值一直为0.000的原因作出如下分析并得出结论。 条件: 1、NWPU-VHR-10数据集:共650张,训练:验证611:39; 2、…

FFmpeg-基础组件-AVFrame

本章主要介绍FFmpeg基础组件AVFrame. 文章目录 1.结构体成员2.成员函数AVFrame Host内存的获取 av_frame_get_bufferAVFrame device内存获取av_hwframe_get_buffer() 1.结构体成员 我们把所有的代码先粘贴上来,在后边一个一个解释。 typede…

[MySQL]SQL优化之sql语句优化

🌈键盘敲烂,年薪30万🌈 目录 一、索引优化 回顾: 📕索引分类: 📕索引失效: 📕设计原则: 📕SQL性能分析 二、SQL优化 语句优化 &#x1f4d…

越南语翻译,人工翻译哪个值得信赖?

近年来,随着中越两国的交流日益频繁,为了促进双方的交流与理解,市场上对越南语翻译的需求也日益增加。那么,如何做好越南语翻译,人工翻译哪家公司值得信赖呢? 据了解,中文翻译越南语是一项颇具挑…

科技与艺术相结合,虚拟人裸眼3D动画亮相城市商圈

随着元宇宙概念的火爆,虚拟制作技术的快速发展,虚拟人可以将虚拟世界与现实世界相结合,为用户带来沉浸式体验。如虚拟人壬子希以裸眼3D动画的形式亮相城市商圈,助力文旅以科技与艺术相结合的形式,展现城市文化与科技成…

【数据结构(九)】顺序存储二叉树(2)

文章目录 1. 相关概念2. 顺序存储二叉树的遍历 1. 相关概念 从数据存储来看,数组存储方式和树的存储方式可以相互转换,即数组可以转换成树,树也可以转换成数组,看右面的示意图。 转换原则:     1.上图的二叉树的结点&#xff…

每日一练【长度最小的子数组】

一、题目描述 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 二、题目解析 经…

DeepDrive双转子径向磁通电机

DeepDrive公司开发的是一种高效、高性能、低成本的双转子径向磁通电机系统(含控制器)。该系统具有较高的成本效益和资源效率,并拥有更高的能效,能显著提升电动车续航能力,同时亦能有效控制生产成本,减少自然…

3_流量预测综述阅读_Cellular traffic prediction with machine learning: A survey

为了方便学习英语书写,总结的一些话用英语书写 ♥目录♥ 0、文献来源and摘要1、introduction2、prediction problems and datasets2.1 prediction problems2.2 dataset(1)Telecom Italia 意大利电信 2015(2)City Cell…

AI写文案工具大全介绍,免费的AI写文案工具

随着人工智能技术的不断发展,AI写文案成为一个备受关注的话题。本文将专注于AI写文案工具,深入探讨各类好用的AI写文案软件。 AI写文案工具介绍: OpenAIs GPT系列: GPT-3是由OpenAI开发的语言模型,能够生成高质量的文…

uniapp点击按钮,防止按钮多次点击多次触发事件【防抖操作】

图片、 一、在根目录下新建common文件并创建common.js文件,输入下面代码 // 防止处理多次点击function noMultipleClicks(methods, info) {// methods是需要点击后需要执行的函数, info是点击需要传的参数let that this;if (that.noClick) {// 第一次点…

C语言leetcode集训二:字符串(1):字符串遍历

今天集训的内容是字符串中的字符串遍历题,仍然是简单题,但也可以掌握一些字符串所必要的知识,加深对字符串的理解,关于字符数组和字符串,字符串的输入输出在这就不再做过多赘述,关于字符串的问题&#xff0…

串口通信(1)-硬件知识

本文讲解串口通信的硬件知识。让读者快速了解硬件知识,为下一步编写代码做基础。 目录 一、概述 二、串口通信分类 2.1信息的传送方向进行分类 2.2同步通信和异步通信 三、串口协议 3.1 RS232 3.1.1 电气特性 3.1.2 连接器的机械特性 3.1.3 连接类型 3.1…

【SpringBoot】入门精简

目录 一、初识 SpringBoot 1.1 介绍 1.2 项目创建 1.3 目录结构 1.4 修改配置 二、SpringBoot 集成 2.1 集成 Mybatis框架 2.2 集成 Pagehepler分页插件 2.3 集成 Druid数据库连接池 2.4 集成 Log日志管理 一、初识 SpringBoot 1.1 介绍 Spring Boot是一个用于简化Sp…