正如标题所述,如何做到这一点?
class Main(QWidget):
def __init__(self):
super().__init__()
def StartButtonEvent(self):
self.test = ExecuteThread()
self.test.start()
def MyEvent(self):
#MainThreadGUI
class ExecuteThread(QThread):
def run(self):
# A lot of work
# Signal to main thread about finishing of job = mainthread will perform MyEvent
我在这里找到了一些教程:pyqt4在线程中发出信号以连接主线程中的槽和从pyQt QThread触发信号,但似乎在PyQt5中不起作用:/。
StartButtonEvent
函数的开头,插槽不应该被引用为self.thread_finished
和self.my_event
吗?虽然每个函数都可以用作插槽,但最好使用@pyqtSlot()
装饰器。即使只是为了自我解释代码也是一个好主意。 - user_na