2015-05-12 3 views
1

Есть ли способ установить точку поворота в Rectangle и просто использовать свойство вращения без какого-либо другого дополнительного компонента? Я хочу, чтобы повернуть Rectangle с связывающим свойством rotation: value * 180 как этотУстановить точку поворота прямоугольника

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

я получил только вращение вокруг левого верхнего угла родителя. Пожалуйста, помогите мне разобраться в этом поведении или предложите мне другой способ осуществить вращение в центре.

ответ

4

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 
} 
+0

Спасибо, очень полезно – user3417815

Смежные вопросы