Можете организовать ожидание, QEventLoop:exec запустить после подключения к слоту QEventLoop:quit сигнала когда запрос завершен.
Вот мой пример для блокирующего запроса, его можно засунуть в функцию, и при ее вызове будет ожидание ответаQNetworkRequest request(url); // Created by Ighor July
QNetworkReply *reply = manager->get(request);
reply->setParent(this);
int timeoutMS = 60000;
QEventLoop loop;
connect(reply, &QNetworkReply::finished, &loop, &QEventLoop::quit);
QTimer::singleShot(timeoutMS, &loop, &QEventLoop::quit);
loop.exec();
QByteArray answer = reply->readAll();
reply->deleteLater();
Либо делать все без блокировок, что предпочтительнее, и qDebug вызывать в слоте получившему сигнал что запрос завершен.