我一直在尝试找到一种方法,可以在Python线程之外的主线程中更新GUI线程。 PyQt5文档 在sourceforge上有很好的说明。但是我仍然无法使事情正常工作。
有没有一个好的方法来解释交互式会话的以下输出?难道不能调用这些对象的发射方法吗?
>>> from PyQt5.QtCore import QObject, pyqtSignal
>>> obj = QObject()
>>> sig = pyqtSignal()
>>> obj.emit(sig)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'QObject' object has no attribute 'emit'
并且
>>> obj.sig.emit()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'QObject' object has no attribute 'sig'
并且
>>> obj.sig = pyqtSignal()
>>> obj.sig.emit()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'PyQt5.QtCore.pyqtSignal' object has no attribute 'emit'
emit
方法。(obj.sig = pyqtSignal()
仍是未绑定的信号) - 在哪个模块中可以找到emit
方法? - mataobj.sig = pyqtSignal()
将未绑定的信号分配给对象实例-这并没有什么意义。信号需要在类上声明,当在实例上查找时,它们会被绑定-在 PyQt 中它们是描述符,而且只有在类上声明时才能起作用。 - mata