用QT的,加载的一张gif图片。记录下来以后免得忘记。
注意:
1、如果是嵌入式设备需要打开gif支持。
2、QT4.8.5等新版本已经不需要在源码里面添加"Q_IMPORT_PLUGIN(qgif)"。
3、.pro工程文件中添加
QTPLUGIN += qgif
4、Qt的libqgif.so库需放在开发板的对应位置
/安装目录/plugins/imageformats/中,我的是在/kaifa/Qt/4.8.5/plugins/imageformats/目录下
5、如果是嵌入式系统,把libqgif.so放在如下目录
程序运行目录/imageformats/libqgif.so
-
#ifndef DIALOG_H
-
#define DIALOG_H
-
-
#include <QDialog>
-
#include <QLabel>
-
#include<QPainter>
-
#include<QMovie>
-
-
class Dialog : public QDialog
-
{
-
Q_OBJECT
-
-
public:
-
explicit Dialog(QWidget *parent = 0);
-
~Dialog();
-
-
private:
-
QMovie *movie;
-
QLabel *label;
-
};
-
-
#endif // DIALOG_H
-
#include"dialog.h"
-
-
Dialog::Dialog(QWidget*parent):
-
QDialog(parent)
-
{
-
label = new QLabel(this);
-
this->setFixedSize(200,200);
-
setWindowOpacity(0.5); //设置透明用;
-
this->setWindowFlags(Qt::Dialog|Qt::CustomizeWindowHint);
-
-
//取消对话框标题
-
//this->setWindowFlags(Qt::Dialog|Qt::FramelessWindowHint);
-
-
//取消对话框标题和边框
-
//this->setAutoFillBackground(true);
-
this->setContentsMargins(0,0,0,0);
-
label->setContentsMargins(0,0,0,0);
-
/*QPalettepalette;palette.setBrush(QPalette::Background,QBrush(QPixmap("E:/qml/imgdialog/loading.gif")));
-
this->setPalette(palette)*/;
-
movie = new QMovie("loading.gif");
-
label->setMovie(movie);
-
movie->start();
-
}
-
Dialog::~Dialog()
-
{
-
delete label;
-
delete movie;
-
}
效果:
参考:http://blog.csdn.net/wangwei890702/article/details/8590392
阅读(14628) | 评论(0) | 转发(0) |