第15.9节 PyQt学习入门:使用Qt Designer进行GUI设计的步骤
在使用Qt Designer进行GUI设计时,一般常规的步骤都是差不多的,主要步骤包括新建显示窗口、在窗口上按照规划的布局放置组件、设置初始化组件的属性、定义信号和槽函数的连接,一般后三步是每增加一个组件就执行一轮。
一、新建一个Form窗口
通过File->New菜单打开新建窗口的界面,系统提供模板化的窗口和多种窗口类型供选择如图:

可以看到这些窗口都是QWidget基础上派生出来的,包含两类,上面为窗口模板,下面部分为单独的窗口组件,模板部分提供了两个带按钮的对话窗和一个不带按钮的对话窗、一个带菜单和toolbar的主窗口和一个纯窗口的Widget(对应QWidget类)五种窗口模板(其实最后一个Widget已经不是模板),窗口部分提供了十种不同风格的从QWidget类(Widget窗口组件)派生的不同类型的窗口。
二、规划布局组件
布局类组件包括布局组件、分隔组件,其中布局组件决定放置组件在窗口的方向和随窗口伸缩的伸缩模式。布局组件内本身还可以嵌套放置布局组件。在同一容器内(如布局组件、窗口)同级的布局组件之间是无缝隙的,如果要调整相邻组件之间的间隔,可以采用分隔组件。
三、窗口上放置组件
窗口创建并放置布局组件后,就可以从QtDesigner左侧剩余六大类子组件中拖拽图标放置到窗口上,根据应用需要决定是否放置容器类组件(Containers),然后放置各功能组件,包括按钮、数据项视图类、项组件类、输入组件类、显示类组件。
四、调整组件的属性
组件放置后,需要调整组件的各种属性,包括名字、位置、大小、颜色、字体,不同的组件有不同的属性。具体在每类组件介绍时再详细说明。
五、定义信号和槽函数的连接
信号和槽函数是Qt及PyQt中非常重要的机制,用于定义组件的事件和处理函数的对应关系,支持跨组件的信号和槽函数对应、支持一个槽函数对应多个信号,并支持在槽函数中获取信号发送者,还支持自定义信号。通过信号和槽函数的连接,就可以将界面操作动作以及一些隐含的事件与处理程序挂钩,使得信号得到响应从而实现界面与处理逻辑的分离和连接,分离是界面的设计和信号处理逻辑的分离,在界面上指定信号接收的对象以及该对象执行响应处理逻辑的函数名,但不具体实现响应逻辑,连接是支持信号和槽函数二者建立关联,这样就实现了界面和逻辑的分离。这些内容将在专门章节介绍。
完成以上五步工作后,基于Qt Designer的GUI设计就完成了,就可以应用《第15.7节 PyQt入门学习:PyQt5应用构建详细过程介绍》的方法来进行UI界面到代码的生成以及具体槽函数的实现等程序开发步骤。
博客地址:https://blog.csdn.net/LaoYuanPython
老猿Python博客文章目录:https://blog.csdn.net/LaoYuanPython/article/details/98245036
第15.9节 PyQt学习入门:使用Qt Designer进行GUI设计的步骤的更多相关文章
- PyQt学习随笔:Qt Designer调用帮助时报错找不到assistant.exe文件的解决办法
老猿是按照<第15.5节 PyQt5安装与配置>步骤安装的PyQt及相关工具,但最近在Qt Designer中点击帮助相关菜单时报错找不到assistant.exe文件,如图: 按照报错信 ...
- PyQt学习随笔:Qt Designer的Edit Buddies功能
在Qt Designer的Edit菜单下有个Edit Buddies(编辑伙伴关系)子菜单,该菜单的作用是将一个Label与其他控件关联起来,当Label控件设置了快捷键时,通过Label的快捷键就可 ...
- 第15.38节 PyQt(Python+Qt)入门学习:containers容器类部件QDockWidget停靠窗功能详解
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.概述 QDockWidget类提供了一个可以停靠在QMainWin ...
- 第15.37节 PyQt(Python+Qt)入门学习:containers容器类部件QMdiArea多文档界面部件详解及编程开发案例
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.引言 老猿在前期学习PyQt相关知识时,对每个组件的属性及方法都研 ...
- 第15.25节 PyQt(Python+Qt)入门学习:Model/View开发实战--使用QTableView展示Excel文件内容
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 在前面的订阅专栏<第十九章.Model/View开发:QTableView的功能及属 ...
- 第15.18节 PyQt(Python+Qt)入门学习:Model/View架构中视图Item Views父类详解
老猿Python博文目录 老猿Python博客地址 一.概述 在PyQt图形界面中,支持采用Model/View架构实现数据和界面逻辑分离,其中Model用于处理数据存储,View用于界面数据展现,当 ...
- 第15.33节 PyQt(Python+Qt)入门学习:containers容器类部件QTabWidget选项窗部件简介
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.概述 容器部件就是可以在部件内放置其他部件的部件,在Qt Designer中可以使用的容器部件有 ...
- 第15.28节 PyQt(Python+Qt)入门学习:Model/View架构中的便利类QTableWidget详解
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.引言 表格部件为应用程序提供标准的表格显示工具,在表格内可以管理基于行和列的数据项,表格中的最大 ...
- 第15.27节 PyQt(Python+Qt)入门学习:Model/View架构中的便利类QTreeWidget详解
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.引言 树部件(Tree Widget)是Qt Designer中 Item Widgets(It ...
随机推荐
- shell 之 -f -z -e -o -a -d
# -f 文件存在 if[ -f /etc/sysconfig/network ]; then ./etc/sysconfig/network fi # -z 字串为空/ -o or / -a and ...
- CVE-2020-0769逆向分析
受影响版本: 系统 版本 Microsoft Windows 10 Windows 10 1607 Windows 10 1709 Windows 10 1803 Windows 10 1809 Wi ...
- python之ftp与paramiko与hasattr与getattr
为了方便树莓派和电脑上相互传输数据文件的传输.也就是上传和下载文件,我自己就写了一个ftp 主要是运用到hasattr与getattr 先看一下服务器上的程序吧 # _*_coding:utf-8_* ...
- mysql开发常用技巧总结
1.查询某个schema,某张表的创建时间. SELECT CREATE_TIME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='db_camp ...
- git-新建git用户流程-1
1.输入:https://git-scm.com/ 2.点击try git 4.注册git填写用户名和密码,邮箱,验证邮箱 5.选择免费的版本 6.创建仓库名称 创建成功见截图
- redis部署安装【建议收藏】
一.redis安装教程 1.安装redis ~]# yum -y install gcc gcc-c++ make ~]# tar -xf redis-4.0.8.tar.gz ~]# cd redi ...
- DockerInstall
1.安装Tomcat 2.安装mysql [1].pull [root@pluto tomcat7logs]# docker pull mysql:5.6 [root@pluto tomcat7log ...
- 初学者也能轻松做出好Beat:FPC鼓机使用教程
如果我们想用FL Studio制作一个鼓的声部,这时水果自带的鼓机FPC简直就是我们初学者的福音.因为它的操作比较简单,自带的鼓谱也很丰富,而且我们还可以对鼓的音色做细致的调整,或者是使用自己的采样替 ...
- 「CSP-S 2019」格雷码
[题目描述] 传送门 [题解] 题目中已经清楚地告诉你怎么用n位格雷码推n+1位格雷码, 直接二叉树模拟即可 注意要使用unsigned long long(如果这道题没有95分部分分,不知道有多少人 ...
- js 实现textarea剩余字数统计
1 针对textarea剩余字数统计 2 <div class="fankui-textarea"> 3 <span>留言:</span> &l ...