【发布时间】:2020-01-17 01:42:40
【问题描述】:
我有一个QAbstractListModel 对象,它维护要在地图上显示的项目列表。这些项目的位置每隔几秒钟就会改变一次,很容易计算出未来 60 秒后的非常准确的位置。我要做的是在项目获得新位置时设置项目的位置(该部分效果很好),然后立即将项目移向计算出的未来位置。
没有动画的代码是这样的,而且运行良好:
Component {
id: drawTarget
MapQuickItem {
id: marker
coordinate: data.coords
sourceItem: Item {
id: item
...
data 对象有一个属性,它返回项目在未来 60 秒后的估计位置,所以我尝试了这个:
Component {
id: drawTarget
MapQuickItem {
id: marker
coordinate: data.coords
CoordinateAnimation {
id:anim
property: "coordinate"
}
onCoordinateChanged: {
anim.stop()
anim.from = data.coords
anim.to = data.coordsIn60sec
anim.duration = 60000
anim.start()
}
sourceItem: Item {
id: item
...
但是,尽管对象的位置在每次位置更新时都会正确更新,但朝向未来估计位置的动画根本不起作用。
如何去做这样的事情?
【问题讨论】:
标签: qt animation qml coordinates