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

 

posted @ 2016-05-31 20:22  sanpi1992  阅读(4975)  评论(0编辑  收藏  举报