我想将我的 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 block 而不是 if 语句,但我仍然想知道“PyQt 信号”方式。
最佳答案
使用新式语法,等效代码将是:
if worker.receivers(worker.signalFinished[str, str])):
do_stuff()
关于python - PyQt5 接收器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40221947/