如何确定谁发出信号?

kra*_*itz 5 python pyqt

我在PyQt上开发了一个应用程序,我喜欢信号槽模型,但有没有办法确定信号的发射器?我希望有一种方法,因为它可以编写更多通用代码而无需为每个类似信号定义大量插槽.

kra*_*itz 18

我认为我过早地提出了一个问题,因为我自己在谷歌上找到了答案.当插槽由发射器激活时,发射器的指针存储,并且可以通过检索

QObject::sender()
Run Code Online (Sandbox Code Playgroud)

因此可以在PyQt中访问:

@QtCore.pyqtSlot()
def someSlot(self):
    self.sender()
Run Code Online (Sandbox Code Playgroud)

  • 在使用此功能之前,您必须了解文档中的警告:http://doc.qt.nokia.com/4.7/qobject.html#sender (2认同)