Тип QML ParentAnimation
Анимирует изменения родительских значений. Подробнее...
| Заявление об импорте: | import QtQuick 2.12 |
| С момента: | 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.12/qml-qtquick-parentanimation.html