复杂的动画使用QPropertyAnimation在QT 4.7.1

Complex animation using QPropertyAnimation in QT 4.7.1

本文关键字:QT QPropertyAnimation 动画 复杂      更新时间:2023-10-16

我正在实现一个算法,该算法计算平面上磁盘机器人的路径,并希望可视化机器人沿着这条路径的运动。

A 路径子路径的向量,其中每个子路径是一个列表pair<QPointF,QPointF>元素。第一个QPointF表示A的当前位置,第二个QPointF表示b的当前位置。两个机器人同时从一对移动到另一对。

我能够成功地可视化机器人在子路径内的运动,对每个机器人使用QPropertyAnimation,对两个QPropertyAnimation对象使用QtParallelAnimationGroup

问题是,对于每个子路径,我必须在屏幕上显示一个特定的图形(一组线/边和点),在整个子路径的动画中保持静态,只有当机器人移动到下一个子路径时才会改变。

我试图在每次QPropertyAnimation完成子路径的当前动画时将图形添加到显示中,但似乎动画与代码在同一线程上运行,因此我不能使用while (propAnim->state() != QAbstractAnimation::Stopped){}

谁有建议如何克服这个问题?

好了,我知道怎么解决了。

对于每个负责子路径动画的QtParallelAnimationGroup,我将其finish()信号连接到在屏幕上显示下一个图形的方法。