Spec-Zone.ru › Qt 5.14

Тип QML RotationAnimation

Анимирует изменения значений вращения. Подробнее...

Оператор импорта: import QtQuick 2.14
Наследует:

PropertyAnimation

  • Список всех членов, включая унаследованные

Свойства

  • direction : перечисление
  • from : вещественное число
  • to : вещественное число

Подробное описание

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.

Также обратите внимание, что Прямоугольник будет вращаться вокруг его стандартного transformOrigin (который Item.Center). Для использования другого начала преобразования установите начало в объекте 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.14/qml-qtquick-rotationanimation.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API