python - 具有任意类型参数的 PyQt 信号/新型信号的 PyQt_PyObject 等价物

标签 python qt pyqt signals

我有一个对象,它应该通过发出一个以新值作为参数的信号来表示一个值已经改变。值的类型可以改变,所以我不确定如何写信号类型。我知道我可以使用像这样的旧式信号来完成这个:

self.emit(SIGNAL("valueChanged(PyQt_PyObject)"), newvalue)

但是我该如何使用新式信号来编写呢?

我知道 a previous question与此相关,但没有给出“真正的”答案。

最佳答案

首先,您发射的对象需要将信号定义为其的属性:

class SomeClass(QObject):
    valueChanged = pyqtSignal(object)  

请注意信号有一个类型为object 的参数,它应该允许任何东西通过。然后,您应该能够使用任何数据类型的参数从类中发出信号:

self.valueChanged.emit(anyObject)

关于python - 具有任意类型参数的 PyQt 信号/新型信号的 PyQt_PyObject 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4523006/

相关文章:

python - PyQt5 - 为什么我的小部件不更新,除非我切换到不同的窗口?

python - 与队列一起使用时 "threads"列表变量的用途是什么

python - 带有 CheckDelegate 项目的 ListView 在滚动时不保留选中的复选框

python - DecisionTreeClassifier fit() 返回具有相同数据的不同树

python - Hierarchical Dirichlet Process Gensim 主题数与语料库大小无关

python - Sublime Text 中的 f-String

python - 计算递归调用 - 汉诺塔

android - 通过在 qt 中从 C++ JNI 发送字符串在 Android 中显示 Toast

python - Python 和 Qt 中的并发编程

qt - 如何将信号连接到不同线程中的插槽?