根据QT中的GraphicsView框架,我们可以做一些简单的开机动画,如碰撞动画,或者是gif动画;
实现的效果类似下面这张gif

其实是将gif转成一帧又一帧的图片,然后用定时器发出信号多次调用槽函数,把每一帧图片加载出来,类似gif;
话不多说上源码,这个MyItem是我自定义的图元类,详情可以看我的另一篇文章,这边创建图元时可以不给第二个参数,这是之前做碰撞动画区分左右图片用的;
【QT】GraphicsView框架结构的碰撞开机动画实现流程_logani的博客-优快云博客
MyViem::MyViem()
{
Scene = new QGraphicsScene(0,0,500,600);
Item = new MyItem("icon/boot/bot-0.jpg",typeenum::LEFT);//创建图元
Item->setPos(250,300);
setMask(QBitmap(Item->getPix().mask()));//抠除图像的白色区域实现不规则窗体
Scene->addItem(Item);//图元添加到场景中
this->setScene(Scene);//视图关联场景
count=0;
timer = new QTimer(this);
timer->start(70);
connect

本文介绍如何使用QT的GraphicsView框架实现GIF动画效果。通过将GIF分解为一系列图片,并利用定时器控制显示,实现了动态效果。文章提供了具体代码示例。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



