我从网络上获取一个图片,再保存到本地,再setPixmap(),第一次并不能显示,第二次才能显示到图片
void MainWindow::sendGetCurDayPictureSignal(QString url)
{
QNetworkAccessManager* get_picture = new QNetworkAccessManager(this);
QUrl picture_url(url);
connect(get_picture,SIGNAL(finished(QNetworkReply*)),SLOT(getCurDayPictrueSlot(QNetworkReply*)));
get_picture->get(QNetworkRequest(picture_url));
}
void MainWindow::getCurNightPictrueSlot(QNetworkReply * reply)
{
QVariant status = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
QVariant redirectionTarget = reply->attribute(QNetworkRequest::RedirectionTargetAttribute);
if(reply->error() == QNetworkReply::NoError)
{
QByteArray data_bytes = reply->readAll();
QPixmap* cur_pictrue =new QPixmap();
cur_pictrue->loadFromData(data_bytes);
cur_pictrue->save("cur_night_picture.png");
delete cur_pictrue;
picture[1].load("cur_night_picture.png");
}
reply->deleteLater();
}


------解决思路----------------------
picture是什么?picture[1]是什么?QLabel在哪里?
如果一开始QLabel设置了一个空的QPixmap,再调用该QPixmap的load,QLabel并不会自动更新,你调用QLabel的update或adjustSize可以导致刷新。