Spec-Zone.ru › Qt 5.11

Тип QML RotationAnimation

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

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

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). Чтобы использовать другое начало преобразования, установите его в объекте 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 определён в пределах 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/archives/qt-5.11/qml-qtquick-rotationanimation.html

Spec-Zone.ru

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