QT显示从网络访问管理器获得的图像

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)

请告诉我哪里出错了.

Fre*_*red 5

QNetworkReply调用后,数据未立即就绪QNetworkAccessManager::get().该调用是异步的,您需要在尝试检索任何数据之前连接到finished()QNetworkAccessManager 的信号或readyRead()QNetworkReply的信号.