Тип QML PropertyAction
Определяет немедленные изменения свойств во время анимации. Подробнее...
| Оператор импорта: | import QtQuick 2.13 |
| Наследуется от: |
Свойства
- 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), чтобы анимация поворота началась с правильного transformOrigin.
См. также Анимация и переходы в Qt Quick и Qt QML.
Документация по свойствам
target : Объект
Эти свойства определяют элементы и их свойства, которые затронуты этим действием.
Подробное описание того, как эти свойства интерпретируются в различных ситуациях, приведено в соответствующей документации 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.13/qml-qtquick-propertyaction.html