User interface 在Qt中设置围绕屏幕移动的圆动画的最佳方法?
如果我想,使用Qt,简单地让一些圆在一个白色框或图形中移动,那么最好的方法是什么User interface 在Qt中设置围绕屏幕移动的圆动画的最佳方法?,user-interface,qt,animation,User Interface,Qt,Animation,如果我想,使用Qt,简单地让一些圆在一个白色框或图形中移动,那么最好的方法是什么 我是否需要在圆圈每次移动的位置后面绘制白色/图形?在Qt中有没有一种简单的方法来实现这一点?子类QWidget。启动timerEvent()以设置圆圈位置的动画,然后在末尾调用update()以安排小部件的重新绘制。覆盖小部件的paintEvent()-在其中使用QPaint对象绘制背景和圆圈。Qt助手提供了如何使用QPaint的示例 Qt也有一个新的动画框架,可以促进类似的事情,但我还没有研究它 在小部件中创建Q
我是否需要在圆圈每次移动的位置后面绘制白色/图形?在Qt中有没有一种简单的方法来实现这一点?子类QWidget。启动timerEvent()以设置圆圈位置的动画,然后在末尾调用update()以安排小部件的重新绘制。覆盖小部件的paintEvent()-在其中使用QPaint对象绘制背景和圆圈。Qt助手提供了如何使用QPaint的示例 Qt也有一个新的动画框架,可以促进类似的事情,但我还没有研究它
更新:您可以阅读更多信息。所以我们每次都必须重新绘制背景?是的,非常确定,但是如果您需要效率,可能需要一些解决方法。我在paintEvent中做了很多自定义绘图,它总是非常快。使用Qt Graphics Framework,您不需要处理这些低级操作。看我下面的回复。很酷,谢谢梅森。很高兴知道。我还没有进入框架的这一部分。嗨,使用属性动画,我怎样才能像画圆一样给圆设置动画。我正在设计一个计时器,所以我需要直观地显示它。你能告诉我怎么做吗?不要长时间使用Qt。不知道最新的Qt是如何处理的。您检查过QPropertyImation的文件了吗?哦,好的,谢谢。我现在做的是,在paint()中,我使用drawArc()API进行更新,以显示旋转的圆(实际上,它是一个计时器)。是否可以使用属性动画执行此操作?因为在属性动画中,据我所见,对象本身的位置发生了变化,动画设置了持续时间,这不符合我的需要。