Как заставить код ждать получения сигнала в qt - PullRequest
0 голосов
/ 18 марта 2020

У меня есть класс gui и другой класс с именем guiThread. Класс gui начинается с guiThread как поток, который связывается с gui с помощью сигналов и слотов.
У меня есть слот в guiThread с именем doAction(), и у меня есть сигнал, который отправляется с gui класс для этого слота.
Итак, что я хочу сделать в guiThread, так это то, что я хочу сделать некоторое время l oop, которое ожидает, пока сигнал не будет отправлен из слота gui в doAction() и когда он получил сигнал, слот выполняет некоторые вычисления.
Я не знаю, как это сделать, пока l oop, и я даже не знаю, возможно ли то, что я хочу. Буду признателен, если кто-нибудь сможет мне помочь.

1 Ответ

0 голосов
/ 18 марта 2020

Вам нужно инициализировать частное логическое значение block=true, затем вы ждете сигнала по while(block);. Всякий раз, когда вы получаете сигнал, вы делаете свои вычисления в соответствующем слоте и обновляете block=false в конце его. Таким образом, когда код возвращается к while, он передается для продолжения обработки.

...