c++ - 如何同步QNetworkAccessManager?

标签 c++ qt asynchronous synchronization

我的 deleteIdList 变量来自 replyFinished(QNetworkReply*) 函数。但是 deleteIdList 变量返回空。但是,它必须返回任何东西..我想同步 QNetworkAccessManager..

    QNetworkAccessManager *manager = new QNetworkAccessManager(this);
    connect(manager,SIGNAL(finished(QNetworkReply*)),this,SLOT(replyFinished(QNetworkReply*)));

    foreach (QString delIdList, deleteIdList) {

    serviceUrl = "http://localhost:8080/limit_id="+delIdList+"&false";
    requestUrl = QString("%1%2:%3%4").arg(scheme).arg(qstr).arg(QString::number(svcPort)).arg(serviceUrl);

    QUrl url(requestUrl);
    QNetworkRequest request;
    request.setUrl(url);
    manager->get(request);

  }

如何同步QNetworkAccessManager?

最佳答案

我可能会迟到,但我认为这可以帮助其他人面对这个问题。

QNetworkAccessManager *networkMgr = new QNetworkAccessManager(this);
QNetworkReply *reply = networkMgr->get( QNetworkRequest( QUrl( "http://www.google.com" ) ) );

QEventLoop loop;
QObject::connect(reply, SIGNAL(readyRead()), &loop, SLOT(quit()));

// Execute the event loop here, now we will wait here until readyRead() signal is emitted
// which in turn will trigger event loop quit.
loop.exec();

// Lets print the HTTP GET response.
qDebug( reply->readAll());

Source : developer.nokia.com

关于c++ - 如何同步QNetworkAccessManager?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18511623/

相关文章:

c++ - 如何将内存图像分配给 DLIB array2d 或图像?

c++ - 如何合并 qtable 行的两个单元格?

java - Observable 不是异步的

c++ - Qt 中的 JSON 类与 C++ 中的其他 JSON 解析器

c++ - 如何使用 visual studio 2008 从 qt .ui 生成 .h 文件?

asynchronous - F# 异步文件复制

javascript - 缓存异步函数的结果,并将其传递给 Async.js 中的下一个函数

c++ - Qt:如何在启动新进程后关闭应用程序?

c++ - 如何使用 tinyxml2 查询字符串属性?

c++ - 如何让 emacs 像对待 '{' 和 '}' 一样对待#ifdef 和#endif?