2
我有一個用Python編寫的多線程應用程序,其中一個線程「照顧」GUI,另一個是工作線程。然而,在某一點上,工作線程在處理數據的過程中發出一個帶有QString的信號,該信號連接到GUI線程中的display_image()函數。 display_image()函數需要用戶輸入一行文本。使工作線程等待GUI線程中的用戶輸入? Python/PyQt
我的問題是,我怎麼能讓工作線程等待數據處理,直到display_image()函數返回一個值,也就是說,直到用戶按下OK按鈕?
GUI.py
class GUI(QMainWindow):
def __init__(self, parent=None):
super, etc
self.worker = worker.Worker()
def display_image(self, image):
"""wait for user input"""
Worker.py
class Worker(QThread):
def __init__(self, parent=None):
super, etc
def run(self):
self.emit(SIGNAL("imageFound(QString)"), image)
#wait until...
self.inputted_user_text = inputted_user_text # < this is what I need to figure out
Queue模塊是否可以跨多個類工作? –
是的,它確實:-) –