Тип QML ParentAnimation
Анимирует изменения значений родительского элемента. Подробнее...
| Заявление об импорте: | import QtQuick 2.15 |
| С момента: | Qt 5.0 |
| Наследует: |
Свойства
Подробное описание
ParentAnimation используется для анимирования изменения родительского элемента для элемента Item.
Например, следующий ParentChange изменяет blueRect на дочерний элемент redRect при нажатии. Включение ParentAnimation, которое определяет NumberAnimation для применения во время перехода, гарантирует плавную анимацию перемещения элемента к новому родителю:
import QtQuick 2.0
Item {
width: 200; height: 100
Rectangle {
id: redRect
width: 100; height: 100
color: "red"
}
Rectangle {
id: blueRect
x: redRect.width
width: 50; height: 50
color: "blue"
states: State {
name: "reparented"
ParentChange { target: blueRect; parent: redRect; x: 10; y: 10 }
}
transitions: Transition {
ParentAnimation {
NumberAnimation { properties: "x,y"; duration: 1000 }
}
}
MouseArea { anchors.fill: parent; onClicked: blueRect.state = "reparented" }
}
} ParentAnimation может содержать любое количество анимаций. Эти анимации будут выполняться параллельно; для последовательного выполнения определите их внутри SequentialAnimation.
В некоторых случаях, таких как при перемещении родительских элементов между элементами с включенной обрезкой, полезно анимировать изменение родителя через другой элемент, у которого не включена обрезка. Такой элемент можно установить с помощью свойства via.
ParentAnimation обычно используется в Transition совместно с ParentChange. При использовании таким образом, он анимирует любой ParentChange, произошедший во время изменения состояния. Это можно переопределить, установив конкретный целевой элемент с помощью свойства target.
См. также Анимация и переходы в Qt Quick и Примеры Qt Quick - Анимация.
Документация свойств
newParent : Item
Новый родитель, к которому нужно анимировать.
Если ParentAnimation определён внутри Transition, это значение по умолчанию соответствует значению, определённому в конечном состоянии Transition.
target : Item
Элемент, который нужно переместить к новому родителю.
При использовании в переходе, если целевой элемент не указан, все ParentChange события анимируются ParentAnimation.
via : Item
Элемент, через который нужно переместить элемент. Это позволяет выполнить анимированное перемещение без обрезки, когда оба родительских элемента имеют включенную обрезку.
ParentAnimation {
target: myItem
via: topLevelItem
// ...
} Примечание: Это работает только при использовании ParentAnimation в Transition совместно с ParentChange.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qml-qtquick-parentanimation.html