我正在尝试在控制台应用程序中使用 Qt 下载并保存一些图像。这是我到目前为止得到的,(所有代码正在编译,但运行后,似乎没有进入 replyFinished()
函数……)
void Test::start()
{
std::cout << "start1";
QNetworkAccessManager *manager = new QNetworkAccessManager();
connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)));
manager->get(QNetworkRequest(QUrl("http://www.exylum.mydevil.net/firefox.jpg")));
}
void Test::replyFinished(QNetworkReply* reply)
{
std::cout << "st";
QImage* img2 = new QImage();
img2->loadFromData(reply->readAll());
if(img2->isNull())
std::cout << "oops";
if(img2->save("omg2.jpg", "JPG"))
std::cout << "saved";
else
std::cout << "dont...";
}
原文由 aaaomg 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 QNetworkAccessManager 下载图像
头文件
源文件