python之pyqt专栏3-QT Designer

        从前面两篇文章python之pyqt专栏1-环境搭建与python之pyqt专栏2-项目文件解析,我们对QT Designer有基础的认识。

        QT Designer用来创建UI界面,保存的文件是"xxx.ui"文件,"xxx.ui"可以被pyuic转换为"xxx.py",而"xxx.py"里面会一个类,类中有两个函数 setupUi()  retranslateUi()函数,setupUi() 函数里面是UI界面的py代码;而retranslateUi()则是程序国际化有关,在不同的国家自动转换为不同国家的语言文字。

创建窗体

        打开QT Designer会出现以下的界面,在下图中红色框为三种Dialog为Dialog窗体,此外还有两种窗体分别是Main Window和Widget。

        在PyQt中,Widget、MainWindow、和Dialog是三种常见的窗体类型,它们都是用来创建图形用户界面(GUI)的。它们分别对应于Qt库中的QWidget、QMainWindow、和QDialog类。每一个都有自己的用途和特点:

Widget:这是最基础的窗体类型,通常作为一个基本的容器来使用。你可以在这个窗体上添加各种控件(如按钮、文本框等)。但是,Widget本身并不提供菜单栏、工具栏或状态栏等功能。如果你需要这些功能,就需要自己手动添加。


MainWindow:这是一个提供了更完整功能的窗体类型,它默认包含了菜单栏、工具栏、状态栏等。通常用于创建应用程序的主窗口。MainWindow可以被视为一个顶级的窗口,通常包含了应用程序的主要功能。


Dialog:这是一种特殊的窗体,通常用于执行一个特定的任务,然后关闭。例如,打开一个文件选择对话框,或者显示一个警告消息。Dialog通常模态的(modal),即当Dialog打开时,用户不能操作其它的窗口,直到这个Dialog关闭。

        非常有意思的是, QWidget继承QObject,而QMainWindow 和QDialog,都继承于QWidget。

 

Qt Designer 界面

        1.部件盒

                部件盒是QT Designer中的一个面板,其中包含了各种可供拖拽到设计窗口中的UI部件。这些部件包括按钮、文本框、标签、图像框等常见的用户界面元素。通过从部件盒中拖拽部件到设计窗口中,可以轻松地创建和布局用户界面。
        2.主窗口

          主窗口是QT Designer的主要工作区域,用于设计和编辑用户界面的布局和外观。在主窗口中,你可以放置和排列各种UI部件,调整它们的属性和样式,以及设置布局约束和空间分布。主窗口提供了一个实时的预览,让你可以直观地看到你设计的用户界面。
        3.对象检查器

        对象检查器是QT Designer中的一个面板,显示当前设计窗口中的UI部件的对象层次结构。通过对象检查器,你可以选择、查看和编辑UI部件的属性和信号槽连接。你可以使用对象检查器来浏览UI部件的层次结构,并修改它们的名称、对象类型和其他相关属性。
        4.属性检查器

        属性检查器是QT Designer中的另一个面板,用于查看和编辑选定UI部件的属性。当你选择一个UI部件时,属性检查器会显示该部件的各种属性,如位置、大小、颜色、字体等。你可以通过属性检查器直接修改这些属性,以改变部件的外观和行为。

        5.信号/槽编辑器,动作编辑器,资源浏览器

                信号/槽编辑器用于管理界面中的信号和槽。在QT中,信号和槽是一种通信机制,当某个特定事件(信号)发生时,会触发相应的处理函数(槽)。信号/槽编辑器可以帮助你查看、添加或修改这些连接。
                 动作编辑器用于创建和管理动作。动作是QT中的一种抽象用户界面元素,它可以关联到一个或多个槽函数,用于响应用户的某种操作。
                资源浏览器用于管理和浏览项目资源的工具。你可以通过它来添加、删除或修改项目中的各种资源,例如图像、翻译文件等。

部件盒

         在Qt Designer左侧部件框中,有8类部件,这些部件都可以通过按住鼠标左键不动,拖拽进UI设计界面

Layouts(布局):布局用于管理窗口或容器中的部件的位置和大小。Qt Designer提供了几种布局,如垂直布局(QVBoxLayout)、水平布局(QHBoxLayout)和网格布局(QGridLayout)。布局确保部件在调整窗口大小时能够自适应,并保持整洁的外观。


Spacers(间隔器):间隔器是一种特殊的部件,用于在布局中创建空间。它们可用于调整部件之间的间距,确保布局看起来整齐且平衡。Qt Designer中的水平和垂直间隔器可帮助您在水平和垂直方向上创建间距。


Buttons(按钮):按钮是图形用户界面中常见的交互元素。Qt Designer提供了各种按钮控件,如QPushButton、QToolButton等。这些按钮可用于触发操作、响应用户点击等。您可以为按钮设置图标、文本和点击事件处理程序等。


Item Views(项视图):项视图是用于显示和编辑数据集合的部件。Qt Designer提供了几种项视图,如QTableView、QListView和QTreeView。这些视图可用于以表格、列表或树形结构的形式展示数据,并提供了对数据进行排序、筛选和编辑的功能。


Item Widgets(项部件):项部件是用于项视图中的单个项目的表示。它们代表了视图中的单个数据项,并提供了渲染和编辑数据的方式。例如,QTableWidgetItem是用于QTableView中的表格项的部件,可以在其中设置数据、文本和图标等。


Containers(容器):容器是用于组织和包含其他部件的元素。它们提供了对子部件的布局、管理和控制功能。Qt Designer中的常见容器包括QWidget、QMainWindow和QDialog等。容器可以嵌套使用,以实现复杂的界面结构和布局需求。


Input Widgets(输入部件):输入部件用于接收用户输入的数据。Qt Designer提供了各种输入部件,如QLineEdit(单行文本输入框)、QSpinBox(数值调节框)等。这些部件可用于获取用户的文本、数值和其他类型的数据输入。


Display Widgets(显示部件):显示部件用于在界面中显示信息,而不直接接收用户输入。它们可以用于展示文本、图像、图表等内容。Qt Designer中的常见显示部件包括QLabel(标签)、QGraphicsView(图形视图)等。这些部件可以根据需要显示各种类型的内容,并提供样式、格式和渲染选项的自定义功能。

对象检查器

        对象检查器左侧是对象,右侧是

        当向主窗口(UI编辑区)添加一个Widget时。就会看到对象检查器中多处了一个Widget的对象,它的对象名Widget是而类名是QWidget

 当我们再添加一个按钮时,就会看到对象检查器中多处了一个button的对象,它的对象名是pushbutton而类名为QPushbutton。

当我们将按钮拖进widget中,对象检查器发生变化,button对象会跑到Widget对象下面,被Widget所包含。

        对象检查器,主要功能显示当前设计窗口中的UI部件的对象层次结构

 对象检查器的另一个功能编辑对象名称,这个名称存在“ui”转成“.py”       

 对象检查器

   通过点击下拉箭头,可以看到对象的属性。 左侧是属性而右侧是值   

 

 点击值可以对属性进行修改。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

html table样式的设计 表格边框修饰

<!DOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /> <title>今日小说排行榜</title> <style> table {border-collapse: collapse;border: 4px double red; /*…

VC++彻底理解链接器:四,重定位

重定位 程序的运行过程就是CPU不断的从内存中取出指令然后执行执行的过程&#xff0c;对于函数调用来说比如我们在C/C语言中调用简单的加法函数add&#xff0c;其对应的汇编指令可能是这样的: call 0x4004fd 其中0x4004fd即为函数add在内存中的地址&#xff0c;当CPU执行这条…

2023大模型安全解决方案白皮书

今天分享的是大模型系列深度研究报告&#xff1a;《2023大模型安全解决方案白皮书》。 &#xff08;报告出品方&#xff1a;百度安全&#xff09; 报告共计&#xff1a;60页 前言 在当今迅速发展的数字化时代&#xff0c;人工智能技术正引领着科技创新的浪潮而其中的大模型…

Linux(7):Vim 程序编辑器

vi 基本上 vi 共分为三种模式&#xff0c;分别是【一般指令模式】、【编辑模式】与【指令列命令模式】。 这三种模式的作用分别是&#xff1a; 一般指令模式(command mode) 以 vi 打开一个文件就直接进入一般指令模式了(这是默认的模式&#xff0c;也简称为一般模式)。在这个模…

使用 HTML、CSS 和 JavaScript 创建图像滑块

使用 HTML、CSS 和 JavaScript 创建轮播图 在本文中&#xff0c;我们将讨论如何使用 HTML、CSS 和 JavaScript 构建轮播图。我们将演示两种不同的创建滑块的方法&#xff0c;一种是基于opacity的滑块&#xff0c;另一种是基于transform的。 创建 HTML 我们首先从 HTML 代码开…

WPF实战项目十七(客户端):数据等待加载弹框动画

1、在Common文件夹下新建文件夹Events&#xff0c;新建扩展类UpdateLoadingEvent public class UpdateModel {public bool IsOpen { get; set; }}internal class UpdateLoadingEvent : PubSubEvent<UpdateModel>{} 2、新建一个静态扩展类DialogExtensions来编写注册和推…

JSP EL 通过 三元运算符 控制界面 标签 标签属性内容

然后 我们来说说 EL配合三元运算符的妙用 我们先这样写 <% page contentType"text/html; charsetUTF-8" pageEncoding"UTF-8" %> <%request.setCharacterEncoding("UTF-8");%> <!DOCTYPE html> <html> <head>&l…

分布式篇---第六篇

系列文章目录 文章目录 系列文章目录前言一、说说什么是漏桶算法二、说说什么是令牌桶算法三、数据库如何处理海量数据?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码…

css三角,鼠标样式,溢出文字

目录 css三角 鼠标样式 例子&#xff1a;页码模块 溢出文字表示方式 margin负值运用 css三角强化 css三角 css三角中&#xff1a;line-height&#xff1a;0和font-size&#xff1a;0是防止兼容性的问题 jd {position: relative;width: 120px;height: 249px;background-…

【matlab程序】matlab利用工具包nctool读取grib2、nc、opendaf、hdf5、hdf4等格式数据

【matlab程序】matlab利用工具包nctool读取grib2、nc、opendaf、hdf5、hdf4等格式数据 引用&#xff1a; B. Schlining, R. Signell, A. Crosby, nctoolbox (2009), Github repository, https://github.com/nctoolbox/nctoolbox Brief summary: nctoolbox is a Matlab toolbox…

「Verilog学习笔记」数据串转并电路

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 关于什么是Valid/Ready握手机制&#xff1a; 深入 AXI4 总线&#xff08;一&#xff09;握手机制 - 知乎 时序图含有的信息较多&#xff0c;观察时序图需要注意&#xff1a…

YOLOv8改进 | 2023 | MPDIoU、InnerMPDIoU助力细节涨点

论文地址&#xff1a;官方论文地址点击即可跳转 代码地址&#xff1a;官方并没有开源的该损失的函数的代码&#xff0c;我根据文章内容进行了复现代码块在第三章 一、本文介绍 本文为读者详细介绍了YOLOv8模型的最新改进&#xff0c;带来的改进机制是最新的损失函数MPDIoU和融…

Django必备知识点(图文详解)

目录 day02 django必备知识点 1.回顾 2.今日概要 3.路由系统 3.1 传统的路由 3.2 正则表达式路由 3.3 路由分发 小结 3.4 name 3.5 namespace 3.4 最后的 / 如何解决&#xff1f; 3.5 当前匹配对象 小结 4.视图 4.1 文件or文件夹 4.2 相对和绝对导入urls​编辑…

脏页刷新机制总结

1、Buffer Cache和Page Cache 一句话解释&#xff1a;Page Cache用于缓存文件的页数据&#xff0c;Buffer Cache用于缓存块设备&#xff08;磁盘&#xff09;的块数据。但由于磁盘都是由文件系统管理的&#xff0c;所以会导致数据会被缓存两次&#xff0c;因此现在Linux已经不再…

Python Web开发基础知识篇

一&#xff0c;基础知识篇 本片文章会简单地说一些python开发web中所必须的一些基础知识。主要包括HTML和css基础、JavaScript基础、网络编程基础、MySQL数据库基础、Web框架基础等知识。 1,Web简介 Web&#xff0c;全称为World Wide Web&#xff0c;也就是WWW&#xff0c;万…

mysql索引分为哪几类,聚簇索引和非聚簇索引的区别,MySQL索引失效的情况有哪几种情况,MySQL索引优化的手段,MySQL回表

文章目录 索引分为哪几类&#xff1f;聚簇索引和非聚簇索引的区别什么是[聚簇索引](https://so.csdn.net/so/search?q聚簇索引&spm1001.2101.3001.7020)&#xff1f;&#xff08;重点&#xff09;非聚簇索引 聚簇索引和非聚簇索引的区别主要有以下几个&#xff1a;什么叫回…

Leetcode103 二叉树的锯齿形层序遍历

二叉树的锯齿形层序遍历 题解1 层序遍历双向队列 给你二叉树的根节点 root &#xff0c;返回其节点值的 锯齿形层序遍历 。&#xff08;即先从左往右&#xff0c;再从右往左进行下一层遍历&#xff0c;以此类推&#xff0c;层与层之间交替进行&#xff09;。 提示&#xff1a…

激光塑料透光率检测仪进行材料质量监控

焊接质量检测是对焊接成果的检测&#xff0c;目的是保证焊接结构的完整性、可靠性、安全性和使用性。焊接质量检测通常包括外观检验、内部检查、无损检测以及试件制作与送检等步骤。通过这些检测方法&#xff0c;可以全面评估焊接质量&#xff0c;确保其符合设计要求和规范标准…

2023.11.25-istio安全

目录 文章目录 目录本节实战1、安全概述2、证书签发流程1.签发证书2.身份认证 3、认证1.对等认证a.默认的宽容模式b.全局严格 mTLS 模式c.命名空间级别策略d.为每个工作负载启用双向 TLS 2.请求认证a.JWK 与 JWKS 概述b.配置 JWT 终端用户认证c.设置强制认证规则 关于我最后 本…

GoLang Filepath.Walk遍历优化

原生标准库在文件量过大时效率和内存均表现不好 1400万文件遍历Filepath.Walk 1400万文件重写直接调用windows api并处理细节 结论 1400万文件遍历时对比 对比条目filepath.walkwindows api并触发黑科技运行时间710秒22秒内存占用480M38M 关键代码 //超级快的文件遍历 fun…