我有一個用Python編寫的多線程應用程序,其中一個線程「照顧」GUI,另一個線程是工作線程。然而,工作者線程有兩個主要功能(或者說可以說兩個主要工作),並且我需要告訴run函數完成哪項工作。在PyQt中啓動新QThread()時傳遞參數
所以我想到的是在工作線程中創建一個運行函數,它將接受一個參數(保存爲「self」),參數可以是「創建」或上傳。 -code是我到目前爲止有:
GUI.py
class GUI(QMainWindow):
def __init__(self, parent=None):
super, etc
self.worker = worker.Worker()
def create(self):
self.worker.start()
def upload(self):
self.worker.start()
Worker.py
class Worker(QThread):
def __init__(self, parent=None):
super, etc
def run(self):
self.create_data() # OR self.upload_data(), depends
所以,問題是,我怎麼能告訴worker.start(),其功能我想它 去表演?我意識到可以直接使用worker.run()方法,但是我被「PyQT的快速GUI開發」永不直接調用worker.run()告知,並始終使用worker.start()。
非常感謝 - 這工作。 –
@Deusdies upload_data()是同一個線程的函數嗎?如何發送一行作爲參數? – karensantana
你能解釋一下'超級等'的含義嗎? –