【发布时间】:2014-12-18 13:38:35
【问题描述】:
我有一个带有 SequentialAnimation 的 Qml 组件,其中包含 PropertyAction 组件的静态序列:
SequentialAnimation {
id: anim
running: true
PropertyAction { target: icon; property: "iconid"; value: propStore.anim1 }
PropertyAction { target: icon; property: "iconid"; value: propStore.anim2 }
PropertyAction { target: icon; property: "iconid"; value: propStore.anim3 }
}
这实现了特定图标的动画效果。但是现在我想通过动态构建序列来让它变得有点动态。原因是propStore 不在我的控制之下,用户向动画序列添加新图像需要我对 Qml 进行更改 :(
我该怎么做呢?
我的第一个想法是动态地将组件添加到anim.animations,但这不起作用(它似乎是SequentialAnimation的只读属性。)
我的下一个想法是在外部组件中添加一个ListModel,并在其Component.onCompleted 插槽中添加形状为{ image: "animN" } 的对象(我使用propStore 的自省得到“animN”字符串。)然后我使用ListModel 填充Repeater。但是,SequentialAnimation 似乎不接受 Repeater 对象。
【问题讨论】: