Как правильно дождаться сигнала
Из приложения, при вызове одного метода, излучается сигнал. Поток его обрабатывает и излучает сигнал ответа (в произвольный момент времени). Мне необходимо дождаться ответа в ходе выполнения этого метода, а не в слоте прицепленном к сигналу.
Как дождаться прихода сигнала из потока в главном потоке приложения и при этом не "подвесить" главный поток?
Ответы (1 шт):
Автор решения: Александр
→ Ссылка
Необходимо использовать QEventLoop Например так:
QEventLoop loop;
connect(&parser, SIGNAL(answer_received()), &loop, SLOT(quit()));
this.sendQuery();
loop.exec();