Vam*_*a B 4 c++ qt qt4 qnetworkaccessmanager qtnetwork
我正在尝试显示使用networkaccess manager获取的get请求中获取的图像.我能够编译甚至能够运行它.但是我无法在Qlabel中显示图像.
QNetworkAccessManager* nam;
void MainWindow::on_pushButton_clicked()
{
nam = new QNetworkAccessManager(this);
QUrl url("http://i.imgur.com/Uw7Fk.jpg");
QNetworkReply* reply = nam->get(QNetworkRequest(url));
if (reply->error() == QNetworkReply::NoError)
{
QImageReader imageReader(reply);
imageReader.setAutoDetectImageFormat (false);
QImage pic = imageReader.read();
ui->label_2->setPixmap(QPixmap::fromImage(pic));
}
}
Run Code Online (Sandbox Code Playgroud)
请告诉我哪里出错了.
QNetworkReply调用后,数据未立即就绪QNetworkAccessManager::get().该调用是异步的,您需要在尝试检索任何数据之前连接到finished()QNetworkAccessManager 的信号或readyRead()QNetworkReply的信号.