信号与槽的特性
所有继承自QObject或它的子类的类,都可以使用Signal/Slot
当对象的状态发生变化时,对象可以发出信号 emit signal<br>信号(Signal)发出时,Signal不需要知道是否有接收方
槽(Slot)用于接收信号,槽函数也是普通的成员函数,<br>它不需要知道是否已经连接上某个或多个信号
slot和signal之间可以实现一对多的连接,即<br>一个signal可以连接多个slot<br>一个slot也可以连接多个signal
信号与槽应用举例
预定义的信号与槽
实现按钮按下时,lineEdit内容清空
信号Signal连接到自定义的函数
增加一个自定义函数,将button click信号与自定义函数连接
在自定义类中添加Signal
自定义一个Button类(继承自QWidget)
Signal类支持多种参数类型的构造方式
#Python Types
#Qt Types
#多个不同类型参数
#创建signal时,也可以给signal预设一个名称
Slot创建
Slot在继承自QObject的子类中需要添加装饰符
@QtCore.Slot()
slot函数的签名需要与对应连接的signal参数类型一致
Signal/Slot 可以通过disconnect解除连接
解除