【发布时间】:2016-10-24 15:18:45
【问题描述】:
我想将我的一个 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 信号”方式。
【问题讨论】:
-
可能不是这样,但你尝试过新风格的信号吗?这种表示法似乎已被弃用。