Тип QML RotationAnimation
Анимирует изменения значений поворота. Подробнее...
| Заявление об импорте: | import QtQuick 2.0 |
| Наследуется от: |
Свойства
Подробное описание
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-6.0/qml-qtquick-rotationanimation.html