pyqt5讲解11:自定义信号和槽
步骤:
定义信号
定义槽函数
连接信号和槽函数
发射信号
代码示例:
# -*- coding: utf-8 -*-"""【简介】内置信号槽信号槽示例"""from PyQt5.QtCore import QObject , pyqtSignalclass CustSignal(QObject):# 声明一个无参数的信号signal1 = pyqtSignal()# 声明带一个int类型参数的信号signal2 = pyqtSignal(int)# 声明带一个int和str类型参数的信号signal3 = pyqtSignal(int,str)# 声明带一个列表类型参数的信号signal4 = pyqtSignal(list)# 声明带一个字典类型参数的信号signal5 = pyqtSignal(dict)# 声明一个多重载版本的信号,包括了一个带int和str类型参数的信号或着带str参数的信号signal6 = pyqtSignal([int,str], [str])def __init__(self,parent=None):super(CustSignal,self).__init__(parent)# 信号连接到指定槽self.signal1.connect(self.signalCall1)self.signal2.connect(self.signalCall2)self.signal3.connect(self.signalCall3)self.signal4.connect(self.signalCall4)self.signal5.connect(self.signalCall5)self.signal6[int,str].connect(self.signalCall6)self.signal6[str].connect(self.signalCall6OverLoad)# 信号发射self.signal1.emit()self.signal2.emit(1)self.signal3.emit(1,"text")self.signal4.emit([1,2,3,4])self.signal5.emit({"name":"wangwu","age":"25"})self.signal6[int,str].emit(1,"text")self.signal6[str].emit("text")#槽函数 def signalCall1(self):print("signal1 emit")def signalCall2(self,val):print("signal2 emit,value:",val)def signalCall3(self,val,text):print("signal3 emit,value:",val,text)def signalCall4(self,val):print("signal4 emit,value:",val)def signalCall5(self,val):print("signal5 emit,value:",val)def signalCall6(self,val,text):print("signal6 emit,value:",val,text)def signalCall6OverLoad(self,val):print("signal6 overload emit,value:",val)if __name__ == '__main__': custSignal = CustSignal()
运行结果:
说明:
pyqtSignal() 信号函数 无参数
pyqtSignal(int) 传入整数
pyqtSignal([int,str], [str]) 表示可以传入两种 格式
信号发射 :emit()
信号6 有两种传入方法 如果不指定,默认传入第一种。指定方法
见下面
self.signal6[int,str].emit(1,“text”)
self.signal6[str].emit(“text”)
代码来源于:书籍 pyqt5快速开发与实战
本文 记录下学习笔记
觉得有用的就记录
pyqt5讲解11:自定义信号和槽相关推荐
- (4)pyqt5教程--->自定义信号和槽(超级绕....)
GitHub连接: 本专栏所有源代码的GitHub直通车 上一篇已经讲了如何去使用对象自带的信号和槽 这一篇是比较绕的,反正我第一次看见,我是挺晕的.在明确一下吧 用下面的这个图来明确一下 首先我们得 ...
- 《快速掌握PyQt5》第二章 信号与槽——裁判鸣枪与选手开跑
第二章 信号与槽--裁判鸣枪与选手开跑 2.1 通过按钮来改变文本(一个信号连接一个槽) 2.2 多个信号连接同一个槽 2.3 一个信号与另外一个信号连接 2. 4 一个信号连接多个槽 2.5 自定 ...
- QT Core | 信号槽03 - 自定义信号与槽
文章目录 一.前言 二.新建一个QT控制台项目 2.1.New File or Project 2.2.Project Location 2.3.Define Build System 2.4.Kit ...
- PyQt5(五)信号与槽机制
信号和槽机制是 QT 的核心机制,要精通 QT 编程就必须对信号和槽有所了解.信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性,也是 QT 区别于其它工具包的重要地方. 信号和槽是 ...
- Qt 自定义信号与槽
注 对象与槽理解 //第一个参数lineEdit是激发事件对象,信号中的方法必须在对象中存在,并在对象类头文件signals下定义,//第二个参数信号,//第三个参数this是槽方法所属类的对象,且必 ...
- qt布局调用自定义函数_QT 自定义函数 自定义信号和槽
使用自定义的信号和槽,需要注意以下几点:1.类的声明和实现分别放在.h和.cpp文件中:2.类声明中包含Q_OBJECT宏:3.信号只要声明不要设计其的实现函数:4.发射信号用emit关键字;5.自定 ...
- Qt5教程(三):自定义信号与槽
1. 自定义槽 槽可以是任何成员函数.普通全局函数.静态函数 槽函数和信号的参数和返回值要一致 由于信号是没有返回值的, 槽函数也一定没有返回值 首先在mainwidget.h中添加槽函数: publ ...
- Python深度学习实战PyQt5信号与槽的连接
本文讲解信号与槽的连接机制,详细示范各种类型的信号/槽连接的实现方法,这是图形用户界面的核心内容.还将介绍面向对象的程序设计,这是图形用户界面的基本思想 目录 1. 信号与槽(Signals and ...
- Python 小白从零开始 PyQt5 项目实战(3)信号与槽的连接
本系列面向 Python 小白,从零开始实战解说应用 QtDesigner 进行 PyQt5 的项目实战. 什么叫从零开始?从软件安装.环境配置开始.不跳过一个细节,不漏掉一行代码,不省略一个例图. ...
最新文章
- 域名登陆出现400_域名解析错误怎么办?
- 《评人工智能如何走向新阶段》后记(再续3)
- 征途linux编译错误,征途误事-山外メ雲ジ-ChinaUnix博客
- [JavaScript Java] 初识Closure Tools(一)
- 5ic计算机考试考卷读取错误,最新计算机一级试题第五套
- Linux下的hostname命令详解
- python 监控jvm脚本
- java操作mongodb_Java操作MongoDB
- java查询多条_Mybatis查询多条记录并返回List集合的方法
- hibernate entity使用sequence方式时,id增量50且与sequence值不一致的问题
- Spring DI注入规则
- 非printf形式的十六进制和二进制打印(雅虎面试题)
- OpenCV imread读取图片,imshow展示图片,出现cv:Exception at memory location异常
- oracle创建用户与权限操作(oracle学习笔记一)
- ora-03297(表空间无法回收)问题的解决方法
- linux终端怎么设置monaco,[Linux]Vim设置Monaco字体Vim颜色模板
- 最新黑客攻防实战从入门到精通(第二版)_学习笔记(一)
- html5与java开发视频教程_JAVA视频—WEB开发视频教程
- Android统计图表MPAndroidChart
- arch 关闭独显_manjaro上安装独显驱动(双显卡切换)的正确方法
热门文章
- jmeter生成优美的压力测试报告,jmeter生成html压测报告,jmeter压力测试
- HDU1237 简单计算器
- [USACO1.3]滑雪课程设计Ski Course Design
- 拓扑排序(Topology_Sort)
- BIRT:基于 Eclipse 的报表
- Java12-day03【​​​​​​​(类名、抽象类名、接口名)作为形参和返回值、内部类、常用API(Math、System、toString()、Arrays)、冒泡】
- Android DDMS位置
- Android中Gson解析json数据使用@SerializedName注解
- AQS理解之六,AQS的其他实现类
- Java8 LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转