Как подключить слот PyQt из фонового потока в поток GUI - PullRequest
9 голосов
/ 17 января 2011

Я хочу подключить сигнал в фоновом потоке к слоту в потоке 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 в конечном итоге работали в разных потоках, но я еще не дошел до этого. Потоков пока нет).

1 Ответ

23 голосов
/ 17 января 2011

вы забыли это:

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

добавить это будет работать. (Проверено)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...