Spec-Zone.ru › Qt 5.6

Тип анимации RotationAnimation QML

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

Заявление об импорте: import QtQuick 2.5
Наследует:

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 определена в Переходе или Поведении, это значение по умолчанию соответствует значению, определенному в начальном состоянии Перехода, или текущему значению свойства в момент срабатывания Поведения.

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

to : вещественное число

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

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

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

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

Spec-Zone.ru

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