Spec-Zone.ru › Qt

Тип QML RotationAnimation

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

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

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.

Также обратите внимание, что 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: [
        // ...
    ]

    transitions: Transition {
        RotationAnimation { properties: "angle"; from: 100; duration: 2000 }
    }
}

Если RotationAnimation определен внутри Transition или Behavior, это значение по умолчанию соответствует значению, определенному в начальном состоянии Transition, или текущему значению свойства в момент запуска Behavior.

См. также Анимация и переходы в Qt Quick.

to : вещественное

Это свойство содержит конечное значение для анимации.

Если RotationAnimation определен внутри Transition или Behavior, это значение по умолчанию соответствует значению, определенному в конечном состоянии Transition, или значению изменения свойства, которое вызвало Behavior.

См. также Анимация и переходы в Qt Quick.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qml-qtquick-rotationanimation.html

Spec-Zone.ru

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