使用QT制作简单的GIF
再制作GIF之前,我们先来了解一下事件这个概念,事件不需要我们主动去调用,而是满足特定条件会自动触发。如:当你从提莫的蘑菇上走过去的时候,蘑菇会自己爆炸,而提莫不需要单独再去使用蘑菇这个技能去控制蘑菇爆炸。
事件由虚函数改写,通过头文件中的声明,在cpp中具体实现。
关于制作GIF
核心内容就是使用paintEvent和timerEvent
具体步骤如下:
1.将动态图的分解图加载进数组
2.设计槽函数将计时器和事件关联起来。
3调用展示函数,当一轮动图结束后循环调用。
先附上代码和效果图
``
#include "dialog.h"
#include "ui_dialog.h"
#include"QPainter"
#include"QPixmap"
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
, ui(new Ui::Dialog)
{
ui->setupUi(this);
resize(1000,610);
eventID1=startTimer(50);
curIndex=0;
Initpixmap();
}
Dialog::~Dialog()
{
delete ui;
}
void Dialog::paintEvent(QPaintEvent *event)
{
QPai