Spec-Zone.ru › Qt 5.6

Тип QML PropertyAction

Указывает непосредственные изменения свойств во время анимации Подробнее...

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

Анимация

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

Свойства

  • exclude : список<Объект>
  • properties : строка
  • property : строка
  • target : Объект
  • targets : список<Объект>
  • value : любое

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

PropertyAction используется для указания непосредственного изменения свойства во время анимации. Изменение свойства не анимируется.

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

Например, здесь показана Последовательная анимация, которая устанавливает свойство прозрачность изображения в .5, анимирует ширину изображения, затем устанавливает прозрачность обратно в 1:

SequentialAnimation {
    PropertyAction { target: img; property: "opacity"; value: .5 }
    NumberAnimation { target: img; property: "width"; to: 300; duration: 1000 }
    PropertyAction { target: img; property: "opacity"; value: 1 }
}

PropertyAction также полезен для установки точного момента, когда должно произойти изменение свойства во время перехода. Например, если PropertyChanges использовался в состоянии для поворота элемента вокруг определенного transformOrigin, это можно реализовать так:

Item {
    width: 400; height: 400

    Rectangle {
        id: rect
        width: 200; height: 100
        color: "red"

        states: State {
            name: "rotated"
            PropertyChanges { target: rect; rotation: 180; transformOrigin: Item.BottomRight }
        }

        transitions: Transition {
            RotationAnimation { duration: 1000; direction: RotationAnimation.Counterclockwise }
        }

        MouseArea {
            anchors.fill: parent
            onClicked: rect.state = "rotated"
        }
    }
}

Однако с этим кодом transformOrigin устанавливается не до, а после анимации, так как состояние используется для определения значений в конце перехода. Анимация будет поворачиваться по умолчанию transformOrigin, а затем перепрыгнет к Item.BottomRight. Чтобы исправить это, вставьте PropertyAction перед началом RotationAnimation:

transitions: Transition {
    SequentialAnimation {
        PropertyAction { target: rect; property: "transformOrigin" }
        RotationAnimation { duration: 1000; direction: RotationAnimation.Counterclockwise }
    }
}

Это сразу устанавливает transformOrigin свойство в значение, определенное в конечном состоянии перехода (т.е. значение, определенное в объекте PropertyAction), чтобы анимация поворота начиналась с правильного transform origin.

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

Документация свойств

exclude : список<Объект>

Это свойство содержит объекты, которые не должны затрагиваться этим действием.

См. также targets.

properties : строка

Эти свойства определяют элементы и их свойства, на которые влияет это действие.

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

См. также exclude.

property : строка

Эти свойства определяют элементы и их свойства, на которые влияет это действие.

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

См. также exclude.

target : Объект

Эти свойства определяют элементы и их свойства, на которые влияет это действие.

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

См. также exclude.

targets : список<Объект>

Эти свойства определяют элементы и их свойства, на которые влияет это действие.

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

См. также exclude.

value : любое

Это свойство содержит значение, которое должно быть установлено для свойства.

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

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

Spec-Zone.ru

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