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模块是否可以跨多个类工作? –
是的,它确实:-) –