什么Qt小部件应该用于精灵动画查看器

时间:2017-08-27 20:52:04

标签: c++ qt animation

我正在寻找一个精灵动画编辑器。我已经完成了自定义动画文件的加载,但现在需要启动实际的ui。我真的只是坚持用于实际播放动画的小部件。我需要能够进入某个帧,播放,暂停,循环等。一旦我完成了观看部分,我计划添加编辑。

我在qt docs中看过AnimatedSprite,但似乎只允许在同一个文件中播放精灵。在我的情况下,精灵可以来自多个图像文件,有时也不会像精灵刀一样跟随网格。

2 个答案:

答案 0 :(得分:1)

首先,您应该决定是否要使用QML或Widgets。 AnimatedSprite是与QML相关的类。所有与小部件相关的课程都以" Q"信。

如果您决定使用Qt Widgets,我建议您结合Qt Animation Framework查看Qt Graphics View Framework。最有可能它不会让你做任何你想要的开箱即用,但它应该为你提供了一套丰富的有用工具。

如果您需要some examples

希望它有所帮助。

答案 1 :(得分:0)

看看QMovie。只要您只想使用它来查看,此类可以提供您需要的所有方法。 QMovie可以传递给QLabel以显示动画。

然而,QMovie只支持开箱即用的gif(并且有apng文件的第三方插件)。您可能必须创建自己的图像句柄插件以支持您的格式。

如果那些不适用或复杂,您很可能必须创建自己的自定义小部件。看看painter example。如果您拥有所有帧,播放动画并不难。一个简单的QTimer可以改变要以恒定速率绘制的图像。