设置Rectangle的旋转点

时间:2015-05-12 01:10:38

标签: qt rotation qml qtquick2 qt-quick

有没有办法在Rectangle中设置旋转点,只需使用旋转属性而不需要任何其他附加组件?我想像{/ 1>那样使用Rectangle的绑定属性旋转rotation: value * 180

Rectangle{
    id: body
    rotation: value
    anchors.centerIn: parent.Center
    antialiasing: true
}
onValueChanged: body.rotation = value

我只绕父母的左上角旋转。请帮助我理解这种行为或建议我在中心实施轮换的另一种方法。

1 个答案:

答案 0 :(得分:6)

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

enter image description here

所以你可以围绕其中一个旋转,如:

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
}