qml, SequentialAnimation与SequentialAnimation on区别
时间: 2024-09-18 21:02:59 浏览: 59
QML-轮播效果图-3D轮播效果效果图
QML(Qt Meta Language)是一种基于JavaScript的声明式编程语言,用于创建跨平台的应用界面。`SequentialAnimation`是QML中的动画组件,它允许你在用户界面元素上创建一系列连续的动作,每个动作按顺序执行。
`SequentialAnimation`可以直接在需要动画的对象上调用,例如:
```qml
SequentialAnimation {
NumberAnimation { target: someItem; property: "scale"; from: 1.0; to: 1.5; duration: 500 }
NumberAnimation { target: someItem; property: "translateX"; from: 0; to: 100; duration: 500 }
}
```
这会创建一个动画序列,先缩放元素再平移。
而`SequentialAnimation on`则是为了让动画在特定的某个容器或对象开始之前自动执行。例如:
```qml
Rectangle {
id: container
SequentialAnimation on container {
NumberAnimation { ... }
NumberAnimation { ... }
}
}
```
这里,当`container`可见或发生其他指定事件时,动画会从头开始按照顺序播放。`on`关键字后面跟随的是动画所绑定的行为触发条件。
阅读全文