python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例

  

装饰器信号与槽

  

所谓装饰器信号与槽,就是通过装饰器的方法来定义信号与槽函数,具体的使用方法如下

        @PyQt5.QtCore.pyqtSlot(参数)   def>   导入系统   从PyQt5。QtWidgets进口QApplication QWidget、QHBoxLayout QPushButton   从PyQt5进口QtCore   类CustWidget (QWidget):   def __init__(自我,父=None):   超级(CustWidget,自我). __init__(父)   #创建按钮,添加到自身窗口中   self.okButton=QPushButton (“ok”,自我)   #使用setObjectName设置对象名称   self.okButton.setObjectName (“okButton”)   #设置自身的布局为水平布的局,并添加按钮控件到其中   布局=QHBoxLayout(自我)   layout.addWidget (self.okButton)   # TODo第一种方法   # self.okButton.clicked.connect (self.okButton_clicked)   # def okButton_clicked(自我):   #打印(“单击了好按钮”)   #第二种方法   QtCore.QMetaObject.connectSlotsByName(自我)   @QtCore.pyqtSlot ()   def alt=" python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例">

  
  

QtCore.QMetaObject.connectSlotsByName(自我)

     

事实上,它是PyQt5中根据信号名称自动连接到槽函数的核心代码,这行代码用来将QObject中的子孙对象的某些对象按照其objectName连接到相应的槽函数,举个例子说名一下

  

假设代码QtCore.QMetaObject.connectSlotsByName(自我)已经执行,则下面的代码

  
  

,@QtCore.pyqtSlot ()

  

,,def>   从PyQt5。QtCore进口QObject pyqtSignal   类SignalClass (QObject):   #声明无参数的信号   signal1=pyqtSignal ()   #声明带一个int类型参数的信号   signal2=pyqtSignal (int)   def __init__(自我,父=None):   超级(SignalClass,自我). __init__(父)   #将signal1信号连接到两个槽函数   self.signal1.connect (self.sig1Call)   self.signal1.connect (self.sig2Call)   #将signal2信号连接到信号1   self.signal2.connect (self.signal1)   #发射信号   self.signal1.emit ()   self.signal2.emit (1)   #断开信号与槽函数的关系   self.signal1.disconnect (self.sig1Call)   self.signal1.disconnect (self.sig2Call)   self.signal2.disconnect (self.signal1)   #绑定信号与槽函数   self.signal1.connect (self.sig1Call)   self.signal2.connect (self.sig1Call)   #信号发射   self.signal1.emit ()   self.signal2.emit (1)   1 #输出信号发射   def sig1Call(自我):   print(信号1发出)   2 #输出信号发射   def sig2Call(自我):   print(信号2发出)   if __name__==癬_main__”:   信号=SignalClass ()      

 python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例

  

本文主要讲解了PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例,更多关于PyQt5信号与槽的知识请查看下面的相关链接

python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例