这些是通过HTTP
QNetworkAccessManager
下载文件的类的成员函数:
Downloader::Downloader(QObject *parent) : QObject(parent)
{
manager = new QNetworkAccessManager();
connect(manager, &QNetworkAccessManager::finished, this, &Downloader::onResult);
}
// ...
void Downloader::onResult(QNetworkReply *reply)
{
if(reply->error()){
qDebug() << "ERROR";
qDebug() << reply->errorString();
} else {
QFile *file = new QFile("C:/example/file.xml");
if(file->open(QFile::WriteOnly)){
file->write(reply->readAll());
file->close();
emit onReady();
}
}
}
如果此参数未在构造函数中的onResult
中传递,reply
如何使用connect
? onResult
在哪里得到它?这不是一个错误,班级正常运作。
UPD:我found out信号QNetworkAccessManager::finished
有一个参数QNetworkReply *reply
。我想这与这种情况有关,但我不知道它是怎么回事。