Я видел другой поток, говорящий об этом, но мне не удается отобразить мое изображение.
В настоящее время я загружаю свое изображение следующим образом:
void MyClass::imgHandle() {
QNetworkAccessManager *nam = new QNetworkAccessManager(this);
QUrl url(_code.c_str());
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);
_img = imageReader.read();
}
}
_code создан из кода, полученного в результате синтаксического анализа Json, и URL-адрес выглядит следующим образом: http://l.yimg.com/a/i/us/we/52/33.gif
_img — это QImage в моем классе.
И в моем другом классе я делаю это:
int OtherClass::displayWeather()
{
MyClass mC = new MyClass;
mC->exec() // Where I get the code from the Json
QLabel *imgWeather = new QLabel(this);
imgWeather->setPixmap(QPixmap::fromImage(mC->getImg()));
// getImg() return a QImage.
//The QImage created in MyClass.
imgWeather->setGeometry(1700, 0, 120, 120);
}
И в конце.. Ничего не отображается!