第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 ...
随机推荐
- 记git一些基本用法
git init 在合适的位置建一个文件夹,并在当前目录下右键打开 git Bash,利用git init把这个目录改成git可以管理的仓库 git add 要添加的文件名 ...
- 利用MultipartFile来进行文件上传
这个例子实在SpringMVC的基础上完成的,因此在web.xml中需要配置 web.xml <!-- 配置Spring MVC的入口 DispatcherServlet,把所有的请求都提交到该 ...
- 【Mycat】Mycat核心开发者带你看尽Mycat三大核心配置文件
写在前面 在分布式数据库中间件领域,Mycat和ShardingSphere可以说是在开源界有着相当重要的位置,不少小伙伴也在问我:Mycat和sharding-jdbc哪个好呀!其实,就我本身而言, ...
- MQ-gogogo
1. RocketMQ https://github.com/alibaba/RocketMQ/wiki/quick-start 2. RabbitMQ https://www.rabbitmq.co ...
- Life is Strange 完结感想
Life is Strange 是一款剧情游戏.steam上第一章是免费的,也正是因为这个我才开始了解到这个游戏,玩完第一章后觉得还可以,就趁打折花了17块钱买了2-5章.应该是18年6月20号买的, ...
- 无需开发,IT事件接入钉钉的方法详解
1.市场在拥抱钉钉 虎嗅8月30日发表了一篇文章<为什么有很多企业沉迷钉钉无法自拔>,有兴趣的可以去看看,下附文章链接. 文章不短,其中有一部分阐述了:钉钉抓住以人为核心的"智能 ...
- create-react-app添加对TypeScript支持
背景 最近一直在重构react项目,由于项目历史原因,将之前parcel打包工具换成了webpack,并选择了使用create-react-app作为项目开发脚手架. 接着就是把项目中flow类型检查 ...
- Ceph根据Crush位置读取数据
前言 在ceph研发群里面看到一个cepher在问关于怎么读取ceph的副本的问题,这个功能应该在2012年的时候,我们公司的研发就修改了代码去实现这个功能,只是当时的硬件条件所限,以及本身的稳定性问 ...
- Vmware Tools is currently being installed on your system
问题描述: 使用虚拟机安装Ubuntu过程中一直停留在"PLEASE WAIT! Vmware Tools is currently being installed on your syst ...
- USACO 2020 OPEN Favorite Colors【并查集-启发式合并-思考】
题目链接 题意简述 仰慕喜欢同色奶牛的奶牛喜欢同色 (禁止套娃 ,求一种方案,奶牛喜欢的颜色种数最多,多种方案求字典序最小. 题目解析 这道题我最先想到的居然是二分+并查集,我在想啥 咳咳 首先,考虑 ...