步骤:
定义信号
定义槽函数
连接信号和槽函数
发射信号

代码示例:

# -*- 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:自定义信号和槽相关推荐

  1. (4)pyqt5教程--->自定义信号和槽(超级绕....)

    GitHub连接: 本专栏所有源代码的GitHub直通车 上一篇已经讲了如何去使用对象自带的信号和槽 这一篇是比较绕的,反正我第一次看见,我是挺晕的.在明确一下吧 用下面的这个图来明确一下 首先我们得 ...

  2. 《快速掌握PyQt5》第二章 信号与槽——裁判鸣枪与选手开跑

    第二章  信号与槽--裁判鸣枪与选手开跑 2.1 通过按钮来改变文本(一个信号连接一个槽) 2.2 多个信号连接同一个槽 2.3 一个信号与另外一个信号连接 2. 4 一个信号连接多个槽 2.5 自定 ...

  3. QT Core | 信号槽03 - 自定义信号与槽

    文章目录 一.前言 二.新建一个QT控制台项目 2.1.New File or Project 2.2.Project Location 2.3.Define Build System 2.4.Kit ...

  4. PyQt5(五)信号与槽机制

    信号和槽机制是 QT 的核心机制,要精通 QT 编程就必须对信号和槽有所了解.信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性,也是 QT 区别于其它工具包的重要地方. 信号和槽是 ...

  5. Qt 自定义信号与槽

    注 对象与槽理解 //第一个参数lineEdit是激发事件对象,信号中的方法必须在对象中存在,并在对象类头文件signals下定义,//第二个参数信号,//第三个参数this是槽方法所属类的对象,且必 ...

  6. qt布局调用自定义函数_QT 自定义函数 自定义信号和槽

    使用自定义的信号和槽,需要注意以下几点:1.类的声明和实现分别放在.h和.cpp文件中:2.类声明中包含Q_OBJECT宏:3.信号只要声明不要设计其的实现函数:4.发射信号用emit关键字;5.自定 ...

  7. Qt5教程(三):自定义信号与槽

    1. 自定义槽 槽可以是任何成员函数.普通全局函数.静态函数 槽函数和信号的参数和返回值要一致 由于信号是没有返回值的, 槽函数也一定没有返回值 首先在mainwidget.h中添加槽函数: publ ...

  8. Python深度学习实战PyQt5信号与槽的连接

    本文讲解信号与槽的连接机制,详细示范各种类型的信号/槽连接的实现方法,这是图形用户界面的核心内容.还将介绍面向对象的程序设计,这是图形用户界面的基本思想 目录 1. 信号与槽(Signals and ...

  9. Python 小白从零开始 PyQt5 项目实战(3)信号与槽的连接

    本系列面向 Python 小白,从零开始实战解说应用 QtDesigner 进行 PyQt5 的项目实战. 什么叫从零开始?从软件安装.环境配置开始.不跳过一个细节,不漏掉一行代码,不省略一个例图. ...

最新文章

  1. 域名登陆出现400_域名解析错误怎么办?
  2. 《评人工智能如何走向新阶段》后记(再续3)
  3. 征途linux编译错误,征途误事-山外メ雲ジ-ChinaUnix博客
  4. [JavaScript Java] 初识Closure Tools(一)
  5. 5ic计算机考试考卷读取错误,最新计算机一级试题第五套
  6. Linux下的hostname命令详解
  7. python 监控jvm脚本
  8. java操作mongodb_Java操作MongoDB
  9. java查询多条_Mybatis查询多条记录并返回List集合的方法
  10. hibernate entity使用sequence方式时,id增量50且与sequence值不一致的问题
  11. Spring DI注入规则
  12. 非printf形式的十六进制和二进制打印(雅虎面试题)
  13. OpenCV imread读取图片,imshow展示图片,出现cv:Exception at memory location异常
  14. oracle创建用户与权限操作(oracle学习笔记一)
  15. ora-03297(表空间无法回收)问题的解决方法
  16. linux终端怎么设置monaco,[Linux]Vim设置Monaco字体Vim颜色模板
  17. 最新黑客攻防实战从入门到精通(第二版)_学习笔记(一)
  18. html5与java开发视频教程_JAVA视频—WEB开发视频教程
  19. Android统计图表MPAndroidChart
  20. arch 关闭独显_manjaro上安装独显驱动(双显卡切换)的正确方法

热门文章

  1. jmeter生成优美的压力测试报告,jmeter生成html压测报告,jmeter压力测试
  2. HDU1237 简单计算器
  3. [USACO1.3]滑雪课程设计Ski Course Design
  4. 拓扑排序(Topology_Sort)
  5. BIRT:基于 Eclipse 的报表
  6. Java12-day03【​​​​​​​(类名、抽象类名、接口名)作为形参和返回值、内部类、常用API(Math、System、toString()、Arrays)、冒泡】
  7. Android DDMS位置
  8. Android中Gson解析json数据使用@SerializedName注解
  9. AQS理解之六,AQS的其他实现类
  10. Java8 LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转