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 02 Python
python中文件变化监控示例(watchdog)
Oct 16 Python
python 用正则表达式筛选文本信息的实例
Jun 05 Python
对Python中内置异常层次结构详解
Oct 18 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
Oct 24 Python
python 实现将Numpy数组保存为图像
Jan 09 Python
Python面向对象中类(class)的简单理解与用法分析
Feb 21 Python
python3 xpath和requests应用详解
Mar 06 Python
Python实现井字棋小游戏
Mar 09 Python
python中pathlib模块的基本用法与总结
Aug 17 Python
python之openpyxl模块的安装和基本用法(excel管理)
Feb 03 Python
Python3.8官网文档之类的基础语法阅读
Sep 04 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采集速度探究总结(原创)
2008/04/18 PHP
PHP注释实例技巧
2008/10/03 PHP
用PHP读取超大文件的实例代码
2012/04/01 PHP
解析PHP多种序列化与反序列化的方法
2013/06/06 PHP
PHP实现活动人选抽奖功能
2017/04/19 PHP
判断输入是否为空,获得输入类型的JS代码
2013/10/30 Javascript
一段非常简单的js判断浏览器的内核
2014/08/17 Javascript
JS实现控制表格行内容垂直对齐的方法
2015/03/30 Javascript
JS实现黑客帝国文字下落效果
2015/09/01 Javascript
javascript高级选择器querySelector和querySelectorAll全面解析
2016/04/07 Javascript
基于javascript实现表格的简单操作
2016/05/21 Javascript
jquery按回车键实现表单提交的简单实例
2016/05/25 Javascript
jQuery插件扩展extend的简单实现原理
2016/06/24 Javascript
Vuejs第十二篇之动态组件全面解析
2016/09/09 Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
2016/09/20 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
three.js 入门案例详解
2018/01/23 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
angular4中*ngFor不能对返回来的对象进行循环的解决方法
2018/09/12 Javascript
[04:27]2014DOTA2国际邀请赛 NAVI战队官方纪录片
2014/07/21 DOTA
[02:21]十步杀一人,千里不留行——DOTA2全新英雄天涯墨客展示
2018/08/29 DOTA
[22:07]DOTA2-DPC中国联赛 正赛 iG vs Magma 选手采访
2021/03/11 DOTA
Python中扩展包的安装方法详解
2017/06/14 Python
python实现维吉尼亚加密法
2019/03/20 Python
基于Tensorflow:CPU性能分析
2020/02/10 Python
Kears 使用:通过回调函数保存最佳准确率下的模型操作
2020/06/17 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
2020/06/24 Python
Python 使用office365邮箱的示例
2020/10/29 Python
远东集团网络工程师面试题
2014/10/20 面试题
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
2015/10/12 面试题
2014年小班元旦活动方案
2014/02/16 职场文书
《蒙娜丽莎之约》教学反思
2014/02/27 职场文书
交警个人先进事迹材料
2014/05/11 职场文书
JS数组的常用方法整理
2021/03/31 Javascript
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL
HttpClient实现文件上传功能
2022/08/14 Java/Android