Сделать рабочий поток ждать входа пользователя в поток графического интерфейса? Python / PyQt

У меня есть многопоточное приложение, написанное на Python, в котором один поток «заботится» о графическом интерфейсе, а другой – рабочий поток. Однако в какой-то момент рабочий поток, посреди обработки данных, излучает сигнал с QString, который подключается к функции display_image () в потоке графического интерфейса пользователя. Функция display_image () требует, чтобы пользователь вводил строку текста.

Мой вопрос: как я могу заставить рабочий поток ждать обработки данных, пока функция 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 . Попросите поток GUI поставить «хорошее» значение и заставить работника сделать блокировку, чтобы получить хороший сигнал.