Тип анимации вращения RotationAnimation QML
Анимирует изменения значений вращения. Подробнее...
| Заявление об импорте: | import QtQuick 2.12 |
| Наследует: |
Свойства
Подробное описание
RotationAnimation — это специализированная PropertyAnimation, предоставляющая управление направлением вращения во время анимации.
По умолчанию, вращение происходит в направлении числового изменения; вращение от 0 до 240 градусов будет вращаться на 240 градусов по часовой стрелке, а вращение от 240 до 0 — на 240 градусов против часовой стрелки. Свойство direction можно установить для указания направления вращения.
В следующем примере мы используем RotationAnimation для анимирования вращения между состояниями по кратчайшему пути:
import QtQuick 2.0
Item {
width: 300; height: 300
Rectangle {
id: rect
width: 150; height: 100; anchors.centerIn: parent
color: "red"
antialiasing: true
states: State {
name: "rotated"
PropertyChanges { target: rect; rotation: 180 }
}
transitions: Transition {
RotationAnimation { duration: 1000; direction: RotationAnimation.Counterclockwise }
}
}
MouseArea { anchors.fill: parent; onClicked: rect.state = "rotated" }
} Обратите внимание, что RotationAnimation не нужно было задавать target значение. Для удобства, при использовании в переходе, RotationAnimation будет вращать все свойства с именем "rotation" или "angle". Это можно переопределить, указав собственные свойства через properties или property.
Также обратите внимание, что Rectangle будет вращаться вокруг своего значения по умолчанию transformOrigin (которое Item.Center). Для использования другого значения transform origin, установите его в объекте PropertyChanges и примените изменение в начале анимации с помощью PropertyAction. Дополнительную информацию см. в документации по PropertyAction.
Как и любой другой тип анимации, RotationAnimation может применяться различными способами, включая переходы, поведения и источники значений свойств. Документация по Анимации и переходы в Qt Quick демонстрирует различные методы создания анимаций.
См. также Анимации и переходы в Qt Quick и Примеры Qt Quick — Анимация.
Документация по свойствам
direction : перечисление
Это свойство содержит направление вращения.
Возможные значения:
- RotationAnimation.Numerical (по умолчанию) — Вращение путем линейной интерполяции между двумя числами. Вращение от 10 до 350 градусов будет вращаться на 340 градусов по часовой стрелке.
- RotationAnimation.Clockwise — Вращение по часовой стрелке между двумя значениями
- RotationAnimation.Counterclockwise — Вращение против часовой стрелки между двумя значениями
- RotationAnimation.Shortest — Вращение в направлении, которое создает кратчайший путь анимации. Вращение от 10 до 350 градусов будет вращаться на 20 градусов против часовой стрелки.
from : вещественное число
Это свойство содержит начальное значение для анимации.
Например, следующая анимация не применяется до тех пор, пока значение angle не достигнет 100:
Item {
states: [
// ...
]
transition: Transition {
RotationAnimation { properties: "angle"; from: 100; duration: 2000 }
}
} Если RotationAnimation определен в Переходе или Поведении, это значение по умолчанию равно значению, определенному в начальном состоянии Перехода, или текущему значению свойства в момент запуска Поведения.
См. также Анимации и переходы в Qt Quick.
to : вещественное число
Это свойство содержит конечное значение для анимации.
Если RotationAnimation определен в Переходе или Поведении, это значение по умолчанию равно значению, определенному в конечном состоянии Перехода, или значению изменения свойства, которое вызвало Поведение.
См. также Анимации и переходы в Qt Quick.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qml-qtquick-rotationanimation.html