循环通过QNetworkAccessManager get()例程,在完成

时间:2015-09-19 15:01:23

标签: c++ qt qnetworkaccessmanager qt-signals

我有一个QNetworkAccessManager作为我班级的成员。我将完成的信号从这个管理器连接到我写的replyFinished函数。

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

在一个单独的例程中,我循环来自经理

的get调用
for (int si = 0; si<numLines; si++)
{
    QString line = lines[si];
    manager->get(QNetworkRequest(QUrl(line)));
}

在我的回复完成的插槽例程中,我知道我可能没有按照它们在循环中执行的顺序接收信号,但有什么方法可以获得该信息?也就是说,在我的replyFinished例程中,有一种聪明的方法可以获得“si”吗?谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

return=0返回指向QNetworkAccessManager::get()对象的指针。此指针与通过QNetworkReply插槽的指针相同。您可以使用replyFinished()存储QNetworkReply *指针和整数(QMap在您的代码中)的配对。

这是一个有效的例子;

si