我希望将后台线程中的信号以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必须绑定到QObject,而不是'CompanyPresenter'
但是CompanyPresenter继承自QObject,所以它是一个QObject。怎么了?
(我希望Presenter和GUI最终在不同的线程中运行,但我还没有那么远。还没有线程)。
答案 0 :(得分:23)
def __init__(self,model,view):
super(CompanyPresenter, self).__init__() # this!!!!!!!!!
添加此功能。(已测试)