我有一个对象,我想围绕一个点,其坐标存储在属性offsetx
,offsety
中。这是我的目标:
Rectangle {
id: rec1
property int offsetx: width/2
property int offsety: height/2
height: 50
width: 50
color: "blue"
x: originx - offsetx
y: originy - offsety
transform: Rotation { origin.x: offsetx ; origin.y: offsety; angle: 45}
}
变换既不会识别offsetx
也不会识别offsety
,而位置属性x,y(均取决于偏移属性)可以正常工作。如果我写rec1.offsetx
,那么变换会识别它,但如果我想实例化许多这些矩形(它们不一定有id),那么使用这种方法可能会有问题。
答案 0 :(得分:1)
将上述代码移到单独的qml
文件中
每个qml
文件至少有一个根项,其属性可供其子项使用,而无需明确限定
的 SampleRect.qml 强>
import QtQuick 2.6
Rectangle {
id: rec1
property int offsetx: width/2
property int offsety: height/2
height: 50
width: 50
color: "blue"
x: 100 - offsetx
y: 100 - offsety
transform: Rotation { origin.x: offsetx ; origin.y: offsety; angle: 45} //<- offsetx is accessible. same as rec1.offsetx
}
在main.qml文件中将其用作
SampleRect {
}