用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/目录下
注意:
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/目录下
- #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;
- }