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 检查数组元素是否存在类似PHP isset()方法
Oct 14 Python
python字典的常用操作方法小结
May 16 Python
Python使用迭代器捕获Generator返回值的方法
Apr 05 Python
python Selenium实现付费音乐批量下载的实现方法
Jan 24 Python
Python基础之函数的定义与使用示例
Mar 23 Python
PyTorch的深度学习入门之PyTorch安装和配置
Jun 27 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
Apr 19 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
May 23 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
Oct 22 Python
使用豆瓣源来安装python中的第三方库方法
Jan 26 Python
Python制作表白爱心合集
Jan 22 Python
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
Apr 06 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+java实现自动新闻滚动窗口
2006/10/09 PHP
php中通过curl模拟登陆discuz论坛的实现代码
2012/02/16 PHP
php面向对象 字段的声明与使用
2012/06/14 PHP
ThinkPHP的I方法使用详解
2014/06/18 PHP
php实现面包屑导航例子分享
2015/12/19 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
Javascript document.referrer判断访客来源网址
2020/05/15 Javascript
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
2012/01/13 Javascript
javascript制作2048游戏
2015/03/30 Javascript
jQuery animate easing使用方法图文详解
2016/06/17 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
2018/09/14 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
微信小程序实现简单表格
2019/02/14 Javascript
vue中实现动态生成二维码的方法
2020/02/21 Javascript
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
Python探索之自定义实现线程池
2017/10/27 Python
Python简单实现控制电脑的方法
2018/01/22 Python
Python数据集切分实例
2018/12/08 Python
在numpy矩阵中令小于0的元素改为0的实例
2019/01/26 Python
python 实现ping测试延迟的两种方法
2020/12/10 Python
泰国在线书店:SE-ED
2020/06/21 全球购物
javascript实现用户必须勾选协议实例讲解
2021/03/24 Javascript
物流专业大学应届生求职信
2013/11/03 职场文书
大学新生入学教育方案
2014/05/16 职场文书
村党支部群众路线教育实践活动对照检查材料
2014/09/26 职场文书
2015年维修工作总结
2015/04/25 职场文书
2016年小学生寒假家长评语
2015/10/10 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书
Nginx解决403 forbidden的完整步骤
2021/04/01 Servers
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python
一文读懂navicat for mysql基础知识
2021/05/31 MySQL
【DOTA2】半决赛强强对话~ PSG LGD vs EHOME - DPC 2022 CN REGIONAL FINALS WINTER
2022/04/02 DOTA
CSS控制继承中的height能变为可继承吗
2022/06/10 HTML / CSS
云服务器部署 Web 项目的实现步骤
2022/06/28 Servers
本地搭建minio文件服务器(使用bat脚本启动)的方法
2022/07/15 Servers