设置矩形的旋转点

Set rotation point of Rectangle

有没有办法在 Rectangle 中设置旋转点并仅使用旋转 属性 而无需任何其他附加组件?我想像这样

旋转 Rectanglerotation: value * 180 的绑定 属性
Rectangle{
    id: body
    rotation: value
    anchors.centerIn: parent.Center
    antialiasing: true
}
onValueChanged: body.rotation = value

我只得到了围绕父对象左上角的旋转。请帮助我理解这种行为或建议我另一种实现中心旋转的方法。

rotation 属性 围绕其 transformOrigin 属性 顺时针旋转项目,这可能是以下九个点之一:

因此您可以围绕其中之一旋转,例如:

Rectangle{
    id: body
    rotation: value
    transformOrigin: Item.Center
    anchors.centerIn: parent.Center
    antialiasing: true
}

如果您想围绕任意点旋转,您应该使用 Rotation 变换类型:

Rectangle{
    id: body
    transform: Rotation { origin.x: 25; origin.y: 25; angle: value}
    anchors.centerIn: parent.Center
    antialiasing: true
}