# coding: utf8
from PyQt4.QtCore import *
class MyThread(QThread):
def run(self):
result = 3 + 2
# посылаем из потока сигнал с результатом
self.emit('mySignal(PyQt_PyObject)', result)
class Controller(object):
def start_thread(self):
self.thread = MyThread()
# перед запуском потока подписываемся на сигнал
# метод draw_progress будет вызван в главном потоке, поэтому никаких ошибок :)
# результат работы потока метод получит с параметром result
QObject.connect(self.thread, SIGNAL('mySignal(PyQt_PyObject)'), self.draw_progress)
self.thread.start()
def draw_progress(self, result):
self.ui.textEdit.setPlainText(str(result))