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采集博客中上传的QQ截图文件
Jul 18 Python
Python实现的单向循环链表功能示例
Nov 10 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
Aug 04 Python
python json.loads兼容单引号数据的方法
Dec 19 Python
Python求均值,方差,标准差的实例
Jun 29 Python
python:按行读入,排序然后输出的方法
Jul 20 Python
Python随机函数库random的使用方法详解
Aug 21 Python
Python倒排索引之查找包含某主题或单词的文件
Nov 13 Python
使用tensorflow实现矩阵分解方式
Feb 07 Python
解决django接口无法通过ip进行访问的问题
Mar 27 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
Nov 02 Python
Python使用Beautiful Soup(BS4)库解析HTML和XML
Jun 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
如何使用php判断所处服务器操作系统的类型
2013/06/20 PHP
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
使用php+swoole对client数据实时更新(一)
2016/01/07 PHP
PHP页面跳转实现延时跳转的方法
2016/12/10 PHP
日期 时间js控件
2009/05/07 Javascript
json属性名为什么要双引号(个人猜测)
2014/07/31 Javascript
jquery插件splitScren实现页面分屏切换模板特效
2015/06/16 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
JS中使用apply、bind实现为函数或者类传入动态个数的参数
2016/04/26 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
nodeJs爬虫的技术点总结
2018/05/13 NodeJs
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
详解vue-router的导航钩子(导航守卫)
2020/11/02 Javascript
Javascript实现打鼓效果
2021/01/29 Javascript
[42:24]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第一场 11.01
2020/11/02 DOTA
树莓派中python获取GY-85九轴模块信息示例
2013/12/05 Python
使用grappelli为django admin后台添加模板
2014/11/18 Python
Python中的anydbm模版和shelve模版使用指南
2015/07/09 Python
python处理按钮消息的实例详解
2017/07/11 Python
Python selenium实现微博自动登录的示例代码
2018/05/16 Python
浅析python3字符串格式化format()函数的简单用法
2018/12/07 Python
Python交互式图形编程的实现
2019/07/25 Python
Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题(小白级操作)
2020/10/29 Python
HTML5图片层叠的实现示例
2020/07/07 HTML / CSS
环境科学毕业生自荐信
2013/11/21 职场文书
新学期开学演讲稿
2014/05/24 职场文书
高效课堂标语
2014/06/26 职场文书
领导班子奢靡之风查摆问题及整改措施
2014/09/27 职场文书
美术教师求职信范文
2015/03/20 职场文书
汽车质检员岗位职责
2015/04/08 职场文书
2019入党申请书格式和范文
2019/06/25 职场文书
python自动计算图像数据集的RGB均值
2021/06/18 Python
Redis特殊数据类型HyperLogLog基数统计算法讲解
2022/06/01 Redis