0%

ParentChange属性说明

相关控件:AnchorChanges PropertyChanges

ParentChange重命名项目,同时保留其在屏幕上的视觉外观(位置,大小,旋转和缩放)。可以指定要将项目移动/调整大小/旋转/缩放到其最终预期外观的过渡。

本文: https://www.lovejia.win/blog/article/ParentChange.html
参考原文:http://doc.qt.io/qt-5/qml-qtquick-parentchange.html

属性说明

height : real / width : real

这些属性在此状态下保存项目的大小。

parent : Item

此属性保存此状态下项目的新父级。

rotation : real

此属性在此状态下保存项目的旋转。

scale : real

此属性在此状态下保存项目的比例。

target : Item

此属性保存要重新排序的项目

x : real / y : real

这些属性在此状态下保存项目的新位置。

功能简述

ParentChange重命名项目,同时保留其在屏幕上的视觉外观(位置,大小,旋转和缩放)。然后,您可以指定要将项目移动/调整大小/旋转/缩放到其最终预期外观的过渡。
ParentChange如果没有复杂的变换涉及只能保持视觉外观。更具体地说,如果变量属性已经被设置用于reparenting中的任何项目(即,在原始和新父项的共同祖先树中的项目),则它将不起作用。

注意:与PropertyChanges不同,ParentChange期望基于项目的目标; 它不会使用任意对象(例如,你不能使用它来重新定义一个计时器)。

下面的示例显示了一个大的红色矩形和一个小的蓝色矩形,并排。当blueRect单击时,它将更改为“reparented”状态:其父级更改为redRect,并且位于红色矩形内的(10,10),如ParentChange中所指定。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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 }
}

MouseArea { anchors.fill: parent; onClicked: blueRect.state = "reparented" }
}
}

可以指定在这一点上在转变你想ParentChange使用发生ParentAnimation。

------本文结束    感谢阅读------
你打赏你的,我分享我的!