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