qt哪个控件可以显示网线图片,如http://img2.tuicool.com/xx.jpg这一类的
最好能实现像
<a href=''><img src="url"></a>的功能的控件
我试了Qpixmap, Qpicture, QQlabel的设置背景,QtextBrowser,发现这些似乎只能加载本地图片
哪位大侠知道QT哪个控件可以实现上述的功能么。控制不需要功能太强大,只需要能实现
<a href=''><img src="url"></a>的功能就可以了
先谢过了
------解决方案--------------------
CImage::CImage(QWidget *parent):QDialog(parent)
{
ImageLabel=new QLabel(tr("loading....."));
QVBoxLayout *vboxLayout = new QVBoxLayout;
vboxLayout->addWidget(ImageLabel);
setLayout(vboxLayout);
setWindowTitle(tr("load picture"));
resize(300, 200);
currentPicture = new QPixmap;
//获取网络图片
QNetworkAccessManager *manager;
manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(replyFinished(QNetworkReply*)));
manager->get(QNetworkRequest(QUrl("http://www.oschina.net/img/logo_s2.png")));
}
void CImage::replyFinished(QNetworkReply *reply)
{
if(reply->error() == QNetworkReply::NoError)
{
//获取字节流构造 QPixmap 对象
currentPicture->loadFromData(reply->readAll());
QDateTime now;
QString filename = now.currentDateTime().toString("yyMMddhhmmss.jpg");
currentPicture->save(filename);//保存图片
currentFileName = filename;
//可以在onpaint中 用QPixmap 显示currentPicture,则这种方法则不需要保存
//显示图片,
QMovie *move = new QMovie(currentFileName);
ImageLabel->setMovie(move);
move->start();
}
}
------解决方案--------------------
据我所知,下载过来再显示似乎是唯一的方法。