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”       

 对象检查器

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

 

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

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

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

相关文章

linux shell操作 - 05 IO 模型

文章目录 流IO模型阻塞IO非阻塞IOIO多路复用异步IO网络IO模型 流 可以进行IO(input输入、output输出)操作的内核对象;如文件、管道、socket…流的入口是fd (file descriptor); IO模型 阻塞IO, 一直等待,…

RPCS3(PlayStation 3游戏模拟器)汉化教程

RPCS3 RPCS3 是一款PlayStation 3 模拟器,可让 Windows、Linux 或 BSD 系统的用户运行索尼 PlayStation 3 游戏。 安装教程 包含 Windows/Linux版本 详细安装汉化教程请查看文章 RPCS3(PS3模拟器)安装及汉化教程 1.首先下载最新版 RPCS3模…

智能汽车的山海之盾

最近一段时间,关于汽车数字化、智能化进程中的安全问题引发了一系列行业讨论。这个话题也得到了行业更广泛的认识与关注。 汽车智能化是大势所趋,而智能化带来了复杂的系统架构与多样化的功能模块,势必会加大安全隐患,但汽车本身又…

新手如何对一个web网页进行一次渗透测试

新手如何对一个web网页进行一次渗透测试 什么是渗透测试? 在获得web服务运营的公司书面授权的情况下,模拟攻击者的行为,以确定系统的脆弱性,并为保护系统提供有效的建议。 渗透测试和红蓝对抗的区别 渗透测试和红蓝对抗别再傻傻分不清楚…

Rust UI开发(一):使用iced构建UI时,如何在界面显示中文字符

注:此文适合于对rust有一些了解的朋友 iced是一个跨平台的GUI库,用于为rust语言程序构建UI界面。 iced的基本逻辑是: UI交互产生消息message,message传递给后台的update,在这个函数中编写逻辑,然后通过…

哪些域名后缀在国内可以进行备案?

简介 现在有很多不同组合的域名后缀,但是,并非所有后缀都允许进行备案。以下是整理的可备案域名后缀列表,希望能对大家有所帮助! 可备案的域名后缀包括: 中文顶级域名 .政务.公益.公司.网络.网址.商城.网店.中信.商…

入选数据结构与算法领域内容榜第26名

入选数据结构与算法领域内容榜第26名

【机器学习】平滑滤波

平滑滤波技术 平滑滤波,顾名思义就是对信号进行处理使之整体显得更加平滑,降低噪声影响,提高信号质量,它常见于数字信号处理和图像处理,一般意义上的数字信号多体现于一维数据,图像信号多体现于二维数据。…

使用 Python 和 NLTK 进行文本摘要

一、说明 文本摘要是一种自然语言处理技术,允许用户将大量文本总结为小块,而不会丢失任何重要信息。本文介绍NLP中使用Gensim和Sumy实现文本摘要的步骤。 二、为什么要总结文本? 互联网包含大量信息,而且每秒都在增加。文本摘要可…

《Effective Modern C++》全书内容提炼总结

个人博客地址: https://cxx001.gitee.io 前言 C程序员都应该是对性能执着的人,想要彻底理解C11和C14,不可止步于熟悉它们引入的语言特性(例如,auto型别推导、移动语义、lambda表达式,以及并发支持)。挑战在…

优秀软件设计特征与原则

1.摘要 一款软件产品好不好用, 除了拥有丰富的功能和人性化的界面设计之外, 还有其深厚的底层基础, 而设计模式和算法是构建这个底层基础的基石。好的设计模式能够让产品开发快速迭代且稳定可靠, 迅速抢占市场先机;而好的算法能够让产品具有核心价值, 例如字节跳动…

基于Vue+SpringBoot的数字化社区网格管理系统

项目编号: S 042 ,文末获取源码。 \color{red}{项目编号:S042,文末获取源码。} 项目编号:S042,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 源码 & 项目录屏 二、功能模块三、开发背景四、系统展示五…