Тип QML PropertyAction
Определяет немедленные изменения свойств во время анимации. Подробнее...
| Заявление об импорте: | import QtQuick 2.11 |
| Наследует: |
Свойства
- exclude : список<Объект>
- properties : строка
- property : строка
- target : Объект
- targets : список<Объект>
- value : любой
Подробное описание
PropertyAction используется для указания немедленного изменения свойства во время анимации. Изменение свойства не анимируется.
Это полезно для установки значений свойств без анимации во время анимации.
Например, вот SequentialAnimation, который устанавливает свойство opacity изображения в .5, анимирует ширину изображения, затем устанавливает opacity обратно в 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.11/qml-qtquick-propertyaction.html