Я хочу, чтобы мое приложение ожидало бесконечно, пока задача не будет выполнена в другом потоке.
Как мне выполнить это в Qt?
В Windows мы используем waitforsingletonobject, но есть ли альтернатива этому?
waitforsingletonobject
Ожидание потоков для завершения определенных задач (синхронизация потоков) - это задание класса QWaitCondition .
Используйте QtConcurrent :: run.Смотрите мой ответ на этот вопрос .Обратите внимание, что API QFutureWatcher может работать в режимах блокировки (метод waitForFinished) и неблокирования (сигнал finished).
waitForFinished
finished
Вызов ожидание на вашем QThread объекте.
QThread