Qt. Загрузка изображения из сети.

hippik
Дата: 10.03.2015 14:09:42
Добрый день!
Подскажите как реализовать загрузку изображения из сети.
нашел пример в сети:
void MainWindow::on_pushButton_clicked()
{
        nam = new QNetworkAccessManager(this);
        QUrl url("http://i.imgur.com/Uw7Fk.jpg");
        QNetworkReply* reply = nam->get(QNetworkRequest(url));

        QEventLoop eventloop;
        connect(reply,SIGNAL(finished()),&eventloop,SLOT(quit()));
        eventloop.exec();

        if (reply->error() == QNetworkReply::NoError)
        {
            QImageReader imageReader(reply);
            imageReader.setAutoDetectImageFormat (false);
            QImage pic = imageReader.read();
            ui->label->setPixmap(QPixmap::fromImage(pic));

         }
}


получаю ошибку: QSslSocket: cannot resolve SSLv2_client_method

это возможно и notice,но тогда подскажите как мне добиться загрузки изображения из сети?

ps. Linux Mint 17.1, QT 5.4
hippik
Дата: 10.03.2015 15:51:56
Немного переделал, так работает. Ошибка есть, но ее можно видимо игнорировать.
void MainWindow::on_pushButton_clicked()
{
    nam = new QNetworkAccessManager(this);
    QUrl url("http://i.imgur.com/Uw7Fk.jpg");
    QNetworkReply* reply = nam->get(QNetworkRequest(url));

    QEventLoop eventloop;
    connect(reply,SIGNAL(finished()),&eventloop,SLOT(quit()));
    eventloop.exec();

    if (reply->error() == QNetworkReply::NoError)
    {
        QByteArray data = reply->readAll();
        QImage image = QImage::fromData(data);
        ui->label->setPixmap(QPixmap::fromImage(image));
        ui->label->setMinimumHeight(image.height());

     }
}
NekZ
Дата: 10.03.2015 17:57:19
hippik,

Неплохо было бы ещё таймаут добавить, типа
QEventLoop eventloop;
connect(reply,SIGNAL(finished()),&eventloop,SLOT(quit()));
QTimer::singleShot( 5000, & eventloop, SLOT( quit() ) );
eventloop.exec();