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 smtplib模块发送SSL/TLS安全邮件实例
Apr 08 Python
python操作xlsx文件的包openpyxl实例
May 03 Python
python cs架构实现简单文件传输
Mar 20 Python
Python UnboundLocalError和NameError错误根源案例解析
Oct 31 Python
python 用for循环实现1~n求和的实例
Feb 01 Python
浅谈python编译pyc工程--导包问题解决
Mar 20 Python
Python3.5实现的三级菜单功能示例
Mar 25 Python
Python学习笔记之Zip和Enumerate用法实例分析
Aug 14 Python
Python netmiko模块的使用
Feb 14 Python
pyspark给dataframe增加新的一列的实现示例
Apr 24 Python
基于python实现把json数据转换成Excel表格
May 07 Python
python利用线程实现多任务
Sep 18 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中执行系统命令的方法
2015/03/21 PHP
php中foreach结合curl实现多线程的方法分析
2016/09/22 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
获取当前网页document.url location.href区别总结
2008/05/10 Javascript
JavaScript Event学习第十一章 按键的检测
2010/02/10 Javascript
javascript之querySelector和querySelectorAll使用介绍
2011/12/20 Javascript
js判断客户端是iOS还是Android等移动终端的方法
2013/12/11 Javascript
jquery中JSON的解析方式
2015/03/16 Javascript
jQuery拖拽插件gridster使用指南
2015/04/21 Javascript
js获取滚动距离的方法
2015/05/30 Javascript
微信小程序 开发经验整理
2017/02/15 Javascript
详解基于Vue+Koa的pm2配置
2017/10/24 Javascript
vuex 使用文档小结篇
2018/01/11 Javascript
nodejs搭建本地服务器轻松解决跨域问题
2018/03/21 NodeJs
[原创]jquery判断元素内容是否为空的方法
2018/05/04 jQuery
纯javascript实现选择框的全选与反选功能
2019/04/08 Javascript
Vue3.0结合bootstrap创建多页面应用
2019/05/28 Javascript
Layer UI表格列日期格式化及取消自动填充日期的实现方法
2020/05/10 Javascript
Jquery $.map使用方法实例详解
2020/09/01 jQuery
vue 导航守卫和axios拦截器有哪些区别
2020/12/19 Vue.js
js实现简单商品筛选功能
2021/02/02 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
2021/02/14 Javascript
[00:57]辉夜杯战队访谈宣传片—VG
2015/12/25 DOTA
Python Web框架Pylons中使用MongoDB的例子
2013/12/03 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
2019/08/05 Python
通过代码实例了解Python异常本质
2020/09/16 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
Tomcat中怎么使用log4j输出所有的log
2016/07/07 面试题
先进个人获奖感言
2014/01/24 职场文书
干部考核评语
2014/04/29 职场文书
就职演讲稿范文
2014/05/19 职场文书
党的群众路线教育实践活动个人对照检查材料(公安)
2014/11/05 职场文书
十佳少年事迹材料
2014/12/25 职场文书
先进个人事迹材料范文
2014/12/30 职场文书
物业工程部岗位职责
2015/02/11 职场文书