一、描述
Rotation 类型提供了一种旋转 Item 的方法。
它允许(z 轴)相对于任意点旋转,并且还提供了一种为项目指定类似 3D 旋转的方法。 与 Item.rotation 属性相比,这可以更好地控制 Item 旋转。
以下示例围绕其内点 (25, 25) 旋转 Rectangle:
import QtQuick 2.12
import QtQuick.Window 2.0
Window
{
id:root;
visible: true;
width: 200; height: 200
Rectangle
{
width: 100; height: 100;x:100;y:50
color: "blue"
transform: Rotation { origin.x: 25; origin.y: 25; angle: 45}
}
}
对于类似 3D 的项目旋转,除了原点之外,还必须指定旋转轴。以下示例显示了应用于图像的各种类似 3D 的旋转。
import QtQuick 2.12
import QtQuick.Window 2.0
Window
{
id:root;
visible: true;
width: 200; height: 200
Row
{
x: 10; y: 10
spacing: 10
Image
{
source: "qrc:/qt.png"
}
Image
{
source: "qrc:/qt.png"
transform: Rotation { origin.x: 30; origin.y: 30; axis { x: 0; y: 1; z: 0 } angle: 18 }
}
Image
{
source: "qrc:/qt.png"
transform: Rotation { origin.x: 30; origin.y: 30; axis { x: 0; y: 1; z: 0 } angle: 36 }
}
Image
{
source: "qrc:/qt.png"
transform: Rotation { origin.x: 30; origin.y: 30; axis { x: 0; y: 1; z: 0 } angle: 54 }
}
Image
{
source: "qrc:/qt.png"
transform: Rotation { origin.x: 30; origin.y: 30; axis { x: 0; y: 1; z: 0 } angle: 72 }
}
}
}
二、属性成员
1、angle : real
要旋转的角度,以顺时针方向旋转的度数。
2、坐标轴组
axis.x : real
axis.y : real
axis.z : real
要绕其旋转的轴。 对于围绕点的简单 (2D) 旋转,不需要指定轴,因为默认轴是 z 轴(axis { x: 0; y: 0; z: 1 })。
对于典型的 3D 类旋转,通常会同时指定原点和轴。
3、原点组
origin.x : real
origin.y : real
旋转的原点,即当项目的其余部分旋转时相对于父项保持固定的点。默认为 (0, 0)。