Как правильно дождаться сигнала

Из приложения, при вызове одного метода, излучается сигнал. Поток его обрабатывает и излучает сигнал ответа (в произвольный момент времени). Мне необходимо дождаться ответа в ходе выполнения этого метода, а не в слоте прицепленном к сигналу.

Как дождаться прихода сигнала из потока в главном потоке приложения и при этом не "подвесить" главный поток?


Ответы (1 шт):

Автор решения: Александр

Необходимо использовать QEventLoop Например так:

QEventLoop loop;
connect(&parser, SIGNAL(answer_received()), &loop, SLOT(quit()));
this.sendQuery();
loop.exec();
→ Ссылка