我想将我的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信号'方式。
答案 0 :(得分:3)
使用新式语法,等效代码只是:
if worker.receivers(worker.signalFinished[str, str])):
do_stuff()