【问题标题】:QNetworkAccessManager without finished signal没有完成信号的 QNetworkAccessManager
【发布时间】:2018-09-26 21:19:37
【问题描述】:

我想直接请求和响应,而不是使用connect(..,SLOT(finished()),..,SLOT())

【问题讨论】:

  • 当然。帮帮我!,我想构建具有相同 3 轮胎/MVC 架构的应用程序
  • 直接回复。对。
  • 对。请发布答案,例如代码示例或带有代码的文档。谢谢!

标签: c++ qt qt5 qtnetwork


【解决方案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;
}

【讨论】:

  • 我正在检查
  • 好吧,我有点想像了 :)
猜你喜欢
  • 1970-01-01
  • 2018-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多