PyQt5接收器

时间:2016-10-24 15:18:46

标签: python pyqt5

我想将我的PyQt4应用程序移植到PyQt5并遇到一个微妙的问题。

在某些时候,我检查自定义QThread对象(worker)是否仍然连接了一些特定的信号,我在PyQt4中就像这样(示例代码):

if worker.receivers(PyQt4.QtCore.SIGNAL("signalFinished(QString,QString)")):
    do_stuff()

在PyQt5中有没有办法做到这一点? PyQt5 reference不是很有帮助,总是让我到C++ reference,它仍然是相同的行为。

当然还有更多的pythonic'使用try-except-pass块而不是if语句的解决方案,但我仍然想知道' PyQt信号'方式。

1 个答案:

答案 0 :(得分:3)

使用新式语法,等效代码只是:

if worker.receivers(worker.signalFinished[str, str])):
    do_stuff()