Тип QML PropertyAction
Определяет мгновенные изменения свойств во время анимации. Подробнее...
| Заявление об импорте: | import QtQuick 2.15 |
| Наследует: |
Свойства
- 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.
Документация свойств
properties : строка
Эти свойства определяют элементы и их свойства, на которые влияет это действие.
Подробное описание того, как эти свойства интерпретируются в различных ситуациях, приведено в документации к соответствующему PropertyAnimation.
См. также exclude.
exclude : список<Объект>
Это свойство содержит объекты, на которые это действие не должно влиять.
См. также targets.
value : любое
Это свойство содержит значение, которое должно быть установлено для свойства.
Если PropertyAction определен в переходе или поведении, это значение по умолчанию устанавливается в значение, определенное в конечном состоянии перехода или значение изменения свойства, которое вызвало поведение.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qml-qtquick-propertyaction.html