【问题标题】:How to connect PyQt slot from background thread to gui thread如何将 PyQt 插槽从后台线程连接到 gui 线程
【发布时间】:2011-01-16 22:14:03
【问题描述】:

我希望以 Python 方式将后台线程中的信号连接到 GUI 线程中的插槽。

我有以下代码sn-p。

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 最终在不同的线程中运行,但我还没有做到这一点。还没有线程)。

【问题讨论】:

    标签: python pyqt


    【解决方案1】:

    你忘了这个:

    def __init__(self,model,view):
        super(CompanyPresenter, self).__init__() # this!!!!!!!!!
    

    添加这将工作。(测试)

    【讨论】:

      猜你喜欢
      • 2020-04-30
      • 1970-01-01
      • 2012-03-28
      • 2018-03-06
      • 1970-01-01
      • 2018-10-10
      • 2020-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多