QT中用label标签显示本地图片的方法
#define CIMAGE_H #include<QtGui/QDialog> #include<QLabel> class QLabel; class QLineEdit; class QPushButton; class CImage:public QDialog { Q_OBJECT public: CImage(QWidget *parent=0); virtual ~CImage() {} private: QLabel *ImageLabel; QPushButton *ImageButton; public slots: void IsertImage(); }; #endif // CIMAGE_H #include <QtGui/QtGui> #include <QMovie> #include "CImage.h" CImage::CImage(QWidget *parent):QDialog(parent) { ImageButton=new QPushButton(tr("浏览")); ImageLabel=new QLabel(tr("图片")); QVBoxLayout *vboxLayout=new QVBoxLayout; vboxLayout->addWidget(ImageLabel); vboxLayout->addWidget(ImageButton); setLayout(vboxLayout); connect(ImageButton,SIGNAL(clicked()),this,SLOT(IsertImage())); setWindowTitle(tr("图片预览")); resize(200,300); } void CImage::IsertImage() { ImageButton=qobject_cast<QPushButton*>(sender()); QString fileName=QFileDialog::getOpenFileName( this, tr("打开文件"), "/usr/local/Trolltech", tr("任何文件(*.*)" ";;文本文件(*.txt)" ";;XML文件(*.xml)" ";;Images (*.png *.xpm *.jpg)")); QMovie *move=new QMovie(fileName); ImageLabel->setMovie(move); move->start(); } #include<QtGui/QtGui> #include"CImage.h" int main(int argc,char*argv[]) { QApplication app(argc,argv); QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030")); CImage dlg; return dlg.exec(); }