python信号与槽(二)

上一篇信号与槽的连接,与信号发射都是手动的,而且信号传递比较单一,这次我们弄一些自动的。

from PyQt5.QtCore import  *
class MultiSignal(QObject):
    ##信号变量定义
    #无参信号
    signal1=pyqtSignal()
    #
    signal2=pyqtSignal(int)
    #
    signal3=pyqtSignal(int,str)
    #
    signal4=pyqtSignal(list)
    #
    signal5=pyqtSignal(dict)
    #声明一个重载对象的信号,参数可以是int与str 或者单一个str
    signal6=pyqtSignal([int,str],[str])
    ##将信号与槽的连接与信号的发射放入类的初始化方法中
    def __int__(self):
        super(MultiSignal,self).__init__()#这个方法表示对该类的父类也进行初始化
        ##信号与槽的连接
        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.signalCall6_overload)
        ##信号的发射
      

你可能感兴趣的:(python信号与槽(二))