Я хочу запрашивать и отвечать напрямую, а не использовать connect(..,SLOT(finished()),..,SLOT())
QNetworkAccessManager без готового сигнала
comment
Конечно. Помогите мне !, я хочу создать приложение с той же архитектурой 3-tires/MVC
- person kien bui   schedule 17.04.2018
comment
ответ напрямую. Верно.
- person kien bui   schedule 17.04.2018
comment
Верно. Пожалуйста, опубликуйте ответ, например, пример кода или документ с кодом. Спасибо!
- person kien bui   schedule 17.04.2018
Ответы (1)
Вы можете использовать QEventLoop
, чтобы приложение ожидало и могло одновременно обрабатывать другие события.
#include <QCoreApplication>
#include <QNetworkAccessManager>
#include <QNetworkReply>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QNetworkAccessManager *manager = new QNetworkAccessManager;
QEventLoop loop;
QObject::connect(manager, &QNetworkAccessManager::finished, &loop, &QEventLoop::quit);
QNetworkReply *reply = manager->get(QNetworkRequest(QUrl("https://api.github.com/events")));
loop.exec();
qDebug()<<reply->readAll();
delete reply;
delete manager;
return 0;
}
person
eyllanesc
schedule
17.04.2018
я сейчас проверяю
- person kien bui; 17.04.2018
Ок, я примерно так и представлял :)
- person p-a-o-l-o; 17.04.2018