PyQt5 - 信号:pyqtSignal 无方法连接

PyQt5 - Signal : pyqtSignal no method connect

此文档中的以下示例是在 sourceforge 上找到的 我遇到了一个错误。

from PyQt5.QtCore import pyqtSignal, pyqtSlot

 def setSignal():        
     signal = pyqtSignal()
     signal.connect(self.myAction)

 @QtCore.pyqtSlot()
 def myAction():
     print("signal triggered")

结果

AttributeError: 'PyQt5.QtCore.pyqtSignal' object has no attribute 'connect'

如您链接的文档中所述,需要在 class 级别定义信号:

class Foo(QObject):

    signal = pyqtSignal()

    def connectSignal():        
        self.signal.connect(self.myAction)

    @QtCore.pyqtSlot()
    def myAction():
        print("signal triggered")