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 25 Python
Python 的 Socket 编程
Mar 24 Python
在Python编程过程中用单元测试法调试代码的介绍
Apr 02 Python
Python自动化运维_文件内容差异对比分析
Dec 13 Python
python抖音表白程序源代码
Apr 07 Python
六行python代码的爱心曲线详解
May 17 Python
python实现画循环圆
Nov 23 Python
Python:slice与indices的用法
Nov 25 Python
sklearn线性逻辑回归和非线性逻辑回归的实现
Jun 09 Python
详解Python IO口多路复用
Jun 17 Python
Python命令行参数定义及需要注意的地方
Nov 30 Python
Pytest之测试命名规则的使用
Apr 16 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 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
2012/06/07 PHP
解读PHP中上传文件的处理问题
2016/05/29 PHP
Yii2验证器(Validator)用法分析
2016/07/23 PHP
基于PHP制作验证码
2016/10/12 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
2009/07/25 Javascript
浅谈Javascript嵌套函数及闭包
2010/11/09 Javascript
JS防止用户多次提交的简单代码
2013/08/01 Javascript
JS delegate与live浅析
2013/12/21 Javascript
原生JS实现仿淘宝网左侧商品分类菜单效果代码
2015/09/10 Javascript
JS框架之vue.js(深入三:组件1)
2016/09/29 Javascript
原生js实现打字动画游戏
2017/02/04 Javascript
JS实现动态给标签控件添加事件的方法示例
2017/05/13 Javascript
SVG动画vivus.js库使用小结(实例代码)
2017/09/14 Javascript
Vue组件之单向数据流的解决方法
2018/11/10 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
2020/03/12 Javascript
用Python实现服务器中只重载被修改的进程的方法
2015/04/30 Python
巧用python和libnmapd,提取Nmap扫描结果
2016/08/23 Python
关于Python 3中print函数的换行详解
2017/08/08 Python
简单实现python数独游戏
2018/03/30 Python
Python针对给定列表中元素进行翻转操作的方法分析
2018/04/27 Python
python通过配置文件共享全局变量的实例
2019/01/11 Python
Python数据类型之Number数字操作实例详解
2019/05/08 Python
python3注册全局热键的实现
2020/03/22 Python
Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法
2020/05/26 Python
Jimmy Choo美国官网:周仰杰鞋子品牌
2018/06/08 全球购物
C++如何引用一个已经定义过的全局变量
2014/08/25 面试题
旅游与酒店管理的自我评价分享
2013/11/03 职场文书
《小儿垂钓》教学反思
2014/02/23 职场文书
保护母亲河倡议书
2014/04/14 职场文书
工程承诺书怎么写
2014/05/24 职场文书
《圆的面积》教学反思
2016/02/19 职场文书
2016年青少年禁毒宣传教育活动总结(学校)
2016/04/05 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS