Qt QMovie类 显示gif动态图片 在QgraphicsItem中声明一个QMovie对象,然后重写paint, 在Moive start后, 调用每一帧绘制gif中的图像。代码:
//声明QMovie 加载gif图像 mMovie = new QMovie(DIR_2DData + "/explosion.gif"); connect(mMovie, SIGNAL(finished ()),this, SLOT(slot_movieFinish())); mMovie->start();
//paint 调用 void GifItemShow::paint(QPainter *p) { if (mMovie && mMovie->state() == QMovie::Running) { QRectF bound = boundingRect().adjusted(10, 10, -5, -5); p->drawImage(bound, mMovie->currentImage()); } } //动画结束 void GifItemShow::slot_movieFinish() { if (mMovie) { delete mMovie; mMovie = NULL; //setVisible(false); } }
转载请注明原文地址: https://ju.6miu.com/read-962117.html