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入门篇之面向对象
Oct 20 Python
Python中input和raw_input的一点区别
Oct 21 Python
在python环境下运用kafka对数据进行实时传输的方法
Dec 27 Python
python+django+rest框架配置创建方法
Aug 31 Python
python pycharm的安装及其使用
Oct 11 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
Nov 05 Python
pytorch: Parameter 的数据结构实例
Dec 31 Python
python实现提取str字符串/json中多级目录下的某个值
Feb 27 Python
CentOS 7如何实现定时执行python脚本
Jun 24 Python
关于python scrapy中添加cookie踩坑记录
Nov 17 Python
python用700行代码实现http客户端
Jan 14 Python
Django使用echarts进行可视化展示的实践
Jun 10 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
php入门教程 精简版
2009/12/13 PHP
CodeIgniter错误mysql_connect(): No such file or directory解决方法
2014/09/06 PHP
javascript addBookmark 加入收藏 多浏览器兼容
2009/08/15 Javascript
extjs 学习笔记(一) 一些基础知识
2009/10/13 Javascript
快速解决FusionCharts联动的中文乱码问题
2013/12/04 Javascript
JS修改iframe页面背景颜色的方法
2015/04/01 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
2015/06/24 Javascript
利用jQuery和CSS将背景图片拉伸
2015/10/16 Javascript
js格式化输入框内金额、银行卡号
2016/02/01 Javascript
早该知道的7个JavaScript技巧
2016/06/21 Javascript
Google 地图事件实例讲解
2016/08/06 Javascript
Angular.js中处理页面闪烁的方法详解
2017/03/09 Javascript
80%应聘者都不及格的JS面试题
2017/03/21 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
2017/08/17 Javascript
将jquery.qqFace.js表情转换成微信的字符码
2017/12/01 jQuery
axios拦截设置和错误处理方法
2018/03/05 Javascript
详解如何在Vue里建立长按指令
2018/08/20 Javascript
nodejs中实现修改用户路由功能
2019/05/24 NodeJs
浅谈Webpack4 Tree Shaking 终极优化指南
2019/11/18 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
使用Python编写简单的端口扫描器的实例分享
2015/12/18 Python
python并发编程之多进程、多线程、异步和协程详解
2016/10/28 Python
Python冲顶大会 快来答题!
2018/01/17 Python
Python中的defaultdict与__missing__()使用介绍
2018/02/03 Python
python入门教程 python入门神图一张
2018/03/05 Python
Python实现时钟显示效果思路详解
2018/04/11 Python
wtfPython—Python中一组有趣微妙的代码【收藏】
2018/08/31 Python
使用python根据端口号关闭进程的方法
2018/11/06 Python
python二进制文件的转译详解
2019/07/03 Python
python使用writerows写csv文件产生多余空行的处理方法
2019/08/01 Python
LORAC官网:美国彩妆品牌
2019/08/27 全球购物
一名毕业生的自我鉴定
2013/12/04 职场文书
上班迟到检讨书
2014/01/10 职场文书
北京奥运会口号
2014/06/21 职场文书
银行进社区活动总结
2014/07/07 职场文书
缓刑人员思想汇报500字
2014/09/12 职场文书