python - PyQt5 接收器

标签 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 block 而不是 if 语句,但我仍然想知道“PyQt 信号”方式。

最佳答案

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

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

关于python - PyQt5 接收器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40221947/

相关文章:

python - 如何在PyQt5中横向打印?

python - PyQt5 可重用文件选择对话框

python - 如何制作动态组合框PYQT5

将正则表达式解析为 AST 的 Python 库?

python - 如何更新 PyQt5?

python - 单击菜单并打开新窗口

python - 对于分类数据,如何在表格而不是列表中显示结果? (Jupyter 笔记本/Python)

python - 如何从以键为列和行索引的字典构造pandas DataFrame

Python:我嵌套了不起作用的循环,我不知道为什么

python - 使用二维数组的内部求和调用函数