Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从QNetworkAccessManager下载图像_C++_Qt_Rapidjson - Fatal编程技术网

C++ 从QNetworkAccessManager下载图像

C++ 从QNetworkAccessManager下载图像,c++,qt,rapidjson,C++,Qt,Rapidjson,我看到另一个帖子在谈论这个,但是我没有成功地显示我的图像 目前,我正在下载我的图像,如下所示: void MyClass::imgHandle() { QNetworkAccessManager *nam = new QNetworkAccessManager(this); QUrl url(_code.c_str()); QNetworkReply* reply = nam->get(QNetworkRequest(url)); QEventLoop eventLoop;

我看到另一个帖子在谈论这个,但是我没有成功地显示我的图像

目前,我正在下载我的图像,如下所示:

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();
    }

}
_代码是从Json解析获得的代码构建的,url如下所示:
http://l.yimg.com/a/i/us/we/52/33.gif

_img是我班上的一名老师

在我的另一节课上,我做了这样一件事:

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);
}

最后。。没有显示任何内容

您应该检查
QImageReader::read
结果:

QImageReader imageReader(reply);
imageReader.setAutoDetectImageFormat(false);
QImage _img = imageReader.read();
if (_img.isNull())
{
    qDebug() << imageReader.errorString();
}
QImageReader图像阅读器(回复);
imageReader.setAutoDetectImageFormat(false);
QImage _img=imageReader.read();
如果(_img.isNull())
{

qDebug()非常感谢,它工作得非常好!我复制了。粘贴了代码,但没有检查它的功能。。