Qt QGraphicsItem 添加 gif图片

    xiaoxiao2021-12-14  96

    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

    最新回复(0)