сигнал испускается в потоке
вызывается функция, привязанная к этому сигналу
мне нужно в потоке дождаться, пока эта функция выполнится и получить значение из нее
Как только сигнал испущен, он попадает в очередь сигналов, и будет обработан как только, так сразу.
QThread - обертка над потоками, которая выполняется в QApplication, так что связывать слотом ее бессмысленно.
Все очень сильно зависит от структуры программы
Есть несколько путей. Из простых:
1. moveToThread(targetThread)
Создаем поток QThread, пустой, запускаем его. Берем класс и вызываем метод moveToThread, все
слоты
этого класса будут выполняться в потоке
2. Очереди
Создаем очередь (например, queue.Queue), поток непрерывно слушает очередь, при возникновении там задачи, забирает ее и выполняет.
Задача - что угодно, главное, что-бы код знал, что с этим делать