我希望以 pythonic 方式将后台线程中的信号连接到 GUI 线程中的插槽。
我有以下代码片段。
from PyQt4.QtCore import *
class CompanyPresenter(QObject):
fieldChangeSignal = pyqtSignal(str, str)
def __init__(self,model,view):
self.model = model # a CompanyModel
self.view = view # a CompanyView
self.fieldChangeSignal.connect(view.setField)
我收到此错误(在连接线上)
TypeError:pyqtSignal 必须绑定(bind)到 QObject,而不是“CompanyPresenter”
但是CompanyPresenter继承自QObject所以是一个QObject。怎么了?
(我希望 Presenter 和 GUI 最终在不同的线程中运行,但我还没有做到这一点。还没有线程)。
最佳答案
你忘了这个:
def __init__(self,model,view):
super(CompanyPresenter, self).__init__() # this!!!!!!!!!
添加这个会起作用。(已测试)
关于python - 如何将 PyQt 插槽从后台线程连接到 gui 线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4708436/