C
Qt Quick Ultralite timeline Example
Demonstrates how to use Timeline in Qt Quick Ultralite.
Overview
The timeline example shows how to use the Timeline type. It displays a cyclic animation of two rectangles that change colors from red to green, while moving from left to right. It then stops the color animation and moves the rectangles towards the vertical center. After a while, the animations are played in reverse and at the end of this animation the cycle is restarted.


Target platforms
Project structure
CMake project file
The CMakeLists.txt file contains a build script for the example.
QmlProject file
To use the Timeline module, one must import to the Timeline's module:
...
ModuleFiles {
MCU.qulModules: ["Timeline"]
}
...Application's UI
timeline.qml defines the application UI that is shown on the screen.
import QtQuick 2.15
import QtQuick.Timeline 1.0
Rectangle {
id: root
readonly property int rectSize: root.height / 5
color: "#c2c2c2"
Timeline {
id: timeline1
animations: [
TimelineAnimation {
id: timelineAnimation
pingPong: true
running: true
from: 0
duration: 5000
loops: Animation.Infinite
to: 800
}
]
startFrame: 0
enabled: true
endFrame: 10000
KeyframeGroup {
target: rectangle
property: "x"
Keyframe {
id: d
value: root.width - rectangle.width
frame: 300
}
Keyframe {
value: root.width - rectangle.width
frame: 548
}
}
KeyframeGroup {
target: rectangle
property: "y"
Keyframe {
value: 0
frame: 300
}
Keyframe {
value: root.height * 0.5 - rectangle.height
frame: 552
}
}
KeyframeGroup {
target: rectangle
property: "color"
Keyframe {
value: "red"
frame: 0
easing.type: Easing.InCubic
}
Keyframe {
value: "green"
frame: 552
easing.type: Easing.OutCubic
}
}
KeyframeGroup {
target: rectangle1
property: "x"
Keyframe {
value: root.width - rectangle1.width
frame: 300
}
Keyframe {
value: root.width - rectangle1.width
frame: 548
}
}
KeyframeGroup {
target: rectangle1
property: "y"
Keyframe {
value: root.height - rectangle1.height
frame: 0
}
Keyframe {
value: root.height - rectangle1.height
frame: 300
}
Keyframe {
value: root.height * 0.5
frame: 548
}
}
KeyframeGroup {
target: rectangle1
property: "color"
Keyframe {
value: "red"
frame: 0
easing.type: Easing.OutCubic
}
Keyframe {
value: "green"
frame: 552
easing.type: Easing.OutCubic
}
}
KeyframeGroup {
target: text
property: "text"
Keyframe {
value: "2"
frame: 300
}
Keyframe {
value: "3"
frame: 548
}
}
}
Rectangle {
id: rectangle
x: 0
y: 0
width: rectSize
height: rectSize
color: "#ffffff"
}
Rectangle {
id: rectangle1
x: 0
y: root.height - height
width: rectSize
height: rectSize
color: "#ffffff"
Text {
id: text
anchors.centerIn: parent
text: "1"
}
}
}Files:
See also Timeline.
Available under certain Qt licenses.
Find out more.