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使用PyGame模块播放声音的方法
May 20 Python
python比较两个列表大小的方法
Jul 11 Python
在Python的Django框架中为代码添加注释的方法
Jul 16 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
Sep 22 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
Jun 11 Python
Flask模拟实现CSRF攻击的方法
Jul 24 Python
对python周期性定时器的示例详解
Feb 19 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
Aug 13 Python
python深copy和浅copy区别对比解析
Dec 26 Python
Python 读取有公式cell的结果内容实例方法
Feb 17 Python
tensorflow模型转ncnn的操作方式
May 25 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
Dec 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
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
phplock(php进程锁) v1.0 beta1
2009/11/24 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
2014/06/19 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
2018/05/28 PHP
限制复选框的最大可选数
2006/07/01 Javascript
改写一个简单的菜单 弹性大小
2010/12/02 Javascript
Javascript this 的一些学习总结
2012/08/02 Javascript
js中传递特殊字符(+,&)的方法
2014/01/16 Javascript
用JavaScript实现类似于ListBox功能示例代码
2014/03/09 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/09/26 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
JavaScript获取对象在页面中位置坐标的方法
2016/02/03 Javascript
jQuery操作dom实现弹出页面遮罩层(web端和移动端阻止遮罩层的滑动)
2016/08/25 Javascript
基于JS实现横线提示输入验证码随验证码输入消失(js验证码的实现)
2016/10/27 Javascript
JS实现改变HTML上文字颜色和内容的方法
2016/12/30 Javascript
JavaScript实现简单的树形菜单效果
2017/06/23 Javascript
解决layui中的form表单与button的点击事件冲突问题
2018/08/15 Javascript
详解使用angular框架离线你的应用(pwa指南)
2019/01/31 Javascript
ES10 特性的完整指南小结
2019/03/04 Javascript
浅谈JavaScript闭包
2019/04/09 Javascript
详解webpack打包vue项目之后生成的dist文件该怎么启动运行
2019/09/06 Javascript
JS实现扫码枪扫描二维码功能
2020/01/03 Javascript
vue简单封装axios插件和接口的统一管理操作示例
2020/02/02 Javascript
Python标准库与第三方库详解
2014/07/22 Python
浅谈Python的垃圾回收机制
2016/12/17 Python
python 多个参数不为空校验方法
2019/02/14 Python
python3使用GUI统计代码量
2019/09/18 Python
一款利用纯css3实现的超炫3D表单的实例教程
2014/12/01 HTML / CSS
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
Sisley法国希思黎美国官方网站:享誉全球的奢华植物美容品牌
2020/06/27 全球购物
后勤主管工作职责
2013/12/07 职场文书
高级编程求职信模板
2014/02/16 职场文书
教师爱岗敬业演讲稿
2014/05/05 职场文书
一份教室追逐打闹的检讨书
2014/09/27 职场文书
企业管理制度设计时要注意的几种“常见病”!
2019/04/19 职场文书