python GUI库图形界面开发之PyQt5信号与槽基本操作


Posted in Python onFebruary 25, 2020

信号与槽基本操作

进入Qt Designer,加入控件,本文以按钮为例。

按F4开始后,选择需要加入信号与槽的按钮,如下图所示该按钮会变红,按住鼠标拉出一条红线,若该按钮需控制旁边的label,则红线连接到label上(图1),若对框体(MainWindow)进行操作,则链接到框体上,会出现一个像物理中“地线”似的符号(图2)。

python GUI库图形界面开发之PyQt5信号与槽基本操作
图1

python GUI库图形界面开发之PyQt5信号与槽基本操作
图2

连接后,会弹出如下窗体(图3),左侧界面选择信号,如下图中选择“clicked()”代表点击按钮触发右侧对应槽的操作。

勾选下方的“show signals。。。。”后,右侧界面出现系统中已定义好的槽,如"clear()"代表清空,“close()”代表关闭。

若不勾选下方的“show signals。。。。”,则需自定义槽。(只有连接框体时(MainWindow)才可自定义槽)

python GUI库图形界面开发之PyQt5信号与槽基本操作图3

自定义槽

若不勾选下方的“show signals。。。。”,则跳出如下界面(图4),(右侧界面为我自定义槽,若没有自定义过,右侧应该为空。)点下右侧下方Edit,弹出图5。

python GUI库图形界面开发之PyQt5信号与槽基本操作图4

python GUI库图形界面开发之PyQt5信号与槽基本操作图5

点击加号,更改自定义槽的名字(图中trainBtn()为自定义槽),而后选择确定,界面回到图4,此时右侧界面会出现已经添加好的自定义槽。在图4中,选择好信号和槽后,点击确定,即可创建完成该按钮的信号与槽,即点击该按钮将进行的操作。

本文构建了一个简单界面,如下图6、图7所示:

隐藏与出现控制左侧“label”,槽分别为“hide()”,“show()”。

显示文字与清除文字控制左侧“textBrowser”,清除文字按钮的槽为“clear()”,显示文字为自定义槽。相关代码在后面添加自定义槽功能中详述。

python GUI库图形界面开发之PyQt5信号与槽基本操作图6

python GUI库图形界面开发之PyQt5信号与槽基本操作图7

添加自定义槽的功能:

保存Qt Designer文件。切换回pycharm界面,列表中的“.ui”文件即刚刚设计的界面(图8)。将“.ui”文件转换为“.py”文件后(参考文章开头的博客),在“.py”文件中添加自定义槽代码。(与ui文件相同名字的py文件)

python GUI库图形界面开发之PyQt5信号与槽基本操作
图8

找到编写按钮的代码,如下图9所示。按图中更改括号中内容为:self.自定义槽的名字。

python GUI库图形界面开发之PyQt5信号与槽基本操作图9

在该类的最后增加自定义函数,如下图10所示,实现功能为:在textBrowser控件中输出“hi,PyQt5”。

python GUI库图形界面开发之PyQt5信号与槽基本操作图10

在代码的最后,加入主函数,方可运行,代码如下图11所示:

python GUI库图形界面开发之PyQt5信号与槽基本操作图11

好了,本文主要介绍了python GUI库图形界面开发之PyQt5信号与槽基本操作如果错误欢迎指出,更多关于这方面的文章请查看下面的相关链接

Python 相关文章推荐
布同自制Python函数帮助查询小工具
Mar 13 Python
python实现系统状态监测和故障转移实例方法
Nov 18 Python
Python将xml和xsl转换为html的方法
Mar 10 Python
SQLite3中文编码 Python的实现
Jan 11 Python
怎么使用pipenv管理你的python项目
Mar 12 Python
Python中实例化class的执行顺序示例详解
Oct 14 Python
python3使用腾讯企业邮箱发送邮件的实例
Jun 28 Python
在python中将list分段并保存为array类型的方法
Jul 15 Python
解决python 上传图片限制格式问题
Oct 30 Python
Python中zip()函数的解释和可视化(实例详解)
Feb 16 Python
使用Python FastAPI构建Web服务的实现
Jun 08 Python
pymongo insert_many 批量插入的实例
Dec 05 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
Feb 25 #Python
python模拟点击网页按钮实现方法
Feb 25 #Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
Feb 25 #Python
python 计算概率密度、累计分布、逆函数的例子
Feb 25 #Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
Feb 25 #Python
python统计函数库scipy.stats的用法解析
Feb 25 #Python
Python Websocket服务端通信的使用示例
Feb 25 #Python
You might like
咖啡与牛奶
2021/03/03 冲泡冲煮
PHP安装全攻略:APACHE
2006/10/09 PHP
php下HTTP Response中的Chunked编码实现方法
2008/11/19 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
2016/02/26 PHP
PHP检测一个数组有没有定义的方法步骤
2019/07/20 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
很多人都是用下面的js刷新站IP和PV
2008/09/05 Javascript
jQuery与其它库冲突的解决方法
2010/06/25 Javascript
JS实现灵巧的下拉导航效果代码
2015/08/25 Javascript
深入理解JavaScript程序中内存泄漏
2016/03/17 Javascript
JavaScript中日期函数的相关操作知识
2016/08/03 Javascript
jQuery控制控件文本的长度的操作方法
2016/12/05 Javascript
浅谈Angular路由守卫
2017/08/26 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
vue实现Input输入框模糊查询方法
2021/01/29 Javascript
JQuery 实现文件下载的常用方法分析
2019/10/29 jQuery
解决vue 给window添加和移除resize事件遇到的坑
2020/07/21 Javascript
[39:19]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第二场 11.26
2020/11/30 DOTA
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
Python中操作符重载用法分析
2016/04/29 Python
pyttsx3实现中文文字转语音的方法
2018/12/24 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
2019/11/08 Python
Python程序控制语句用法实例分析
2020/01/14 Python
Python面向对象程序设计之静态方法、类方法、属性方法原理与用法分析
2020/03/23 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
2020/04/27 Python
实例教程 纯CSS3打造非常炫的加载动画效果
2014/11/05 HTML / CSS
纯CSS3制作的鼠标悬停时边框旋转
2017/01/03 HTML / CSS
高中生的学习总结自我鉴定
2013/10/26 职场文书
毕业生写求职信的要点
2014/03/04 职场文书
广告学专业毕业生自荐信
2014/05/28 职场文书
卫生标语大全
2014/06/21 职场文书
行政文员实习自我鉴定范文
2014/09/14 职场文书
2014年秘书工作总结
2014/11/25 职场文书
2015年先进个人自荐书
2015/03/24 职场文书
考试没考好检讨书
2015/05/06 职场文书
2019预备党员转正申请书模板2篇!
2019/08/07 职场文书