Коротко:
Чтобы интерфейс не тормозил мне нужно выполнять функцию в другом потоке
но чтобы выполнить эту функцию мне нужен доступ к изменению интерфейса(что я могу сделать только из главного потока)
Вот упрощенный код ,так будет понятнее :
class Thr1(QThread):
def __init__(self):
super(SendMi, self).__init__()
def run(self):
ui.log.setText("123") #доступа к ui у меня нету
class App(QMainWindow):
def __init__(self):
super(App, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.pushButton.clicked.connect(lambda: (Thr1().start())) #если нажать на кнопку выполниться тот поток
Как я могу отправить сигнал и принять его чтобы выполнить эту функцию из основного потока
Видел вот-что
self.emit(core.SIGNAL("dosomething(QString)")) # отправка сигнала
self.connect(self.thread, core.SIGNAL("dosomething(QString)"), self.doing) # прием сигнала
но это PyQt4