PySide6.QtWidgets.QGraphicsRotation

class QGraphicsRotation

QGraphicsRotation 类提供了围绕给定轴的旋转变换。更多

PySide6.QtWidgets.QGraphicsRotation 的继承图

在版本4.6中添加。

概要

属性

  • angleᅟ - 顺时针旋转的角度,单位为度

  • axisᅟ - 旋转轴,由三维空间中的向量指定

  • originᅟ - 3D空间中的旋转原点

方法

信号

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

您可以通过将QVector3D分配给axis属性或通过将Qt::Axis的成员传递给setAxis便捷函数来提供所需的轴。默认情况下,轴是(0, 0, 1),即围绕Z轴旋转。

角度属性,由QGraphicsRotation提供,现在描述了围绕此轴旋转的度数。

QGraphicsRotation 提供了一些参数来帮助控制旋转的应用方式。

原点是项目旋转的中心点(即,当项目的其余部分旋转时,它相对于父项保持固定)。默认情况下,原点是 QPointF(0, 0)。

角度属性提供了围绕原点顺时针旋转项目的度数。该值也可以是负数,表示逆时针旋转。对于动画目的,提供超过(-360,360)度的旋转角度也可能是有用的,例如动画显示项目旋转多次。

注意:最终的旋转是在3D空间中进行旋转后再投影回2D的复合效果。如果连续执行多次旋转,除非它们都是围绕Z轴进行的,否则它们的行为将不符合预期。

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property angleᅟ: float

此属性保存顺时针旋转的角度,以度为单位。

角度可以是任何实数;默认值为0.0。值为180将顺时针旋转180度。如果提供负数,项目将逆时针旋转。通常旋转角度将在(-360, 360)范围内,但也可以提供超出此范围的值(例如,370度的角度与10度的结果相同)。将角度设置为NaN将导致不旋转。

另请参阅

origin

Access functions:
property axisᅟ: QVector3D

此属性保存一个旋转轴,由3D空间中的向量指定。

这可以是3D空间中的任何轴。默认情况下,轴是(0, 0, 1),与Z轴对齐。如果你提供另一个轴,QGraphicsRotation将提供一个围绕该轴旋转的变换。例如,如果你想围绕X轴旋转一个项目,你可以传递(1, 0, 0)作为轴。

另请参阅

angle

Access functions:
property originᅟ: QVector3D

此属性保存3D空间中旋转的原点。

所有旋转将相对于此点进行(即,当项目旋转时,此点将相对于父级保持固定)。

另请参阅

angle

Access functions:
__init__([parent=None])
Parameters:

父对象QObject

使用给定的parent构造一个新的QGraphicsRotation

angle()
Return type:

浮点数

另请参阅

setAngle()

属性 angleᅟ 的获取器。

angleChanged()

每当角度发生变化时,都会发出此信号。

另请参阅

angle

属性 angleᅟ 的通知信号。

axis()
Return type:

QVector3D

另请参阅

setAxis()

属性 axisᅟ 的获取器。

axisChanged()

每当对象的轴发生变化时,就会发出此信号。

另请参阅

axis

属性 axisᅟ 的通知信号。

origin()
Return type:

QVector3D

另请参阅

setOrigin()

属性 originᅟ 的获取器。

originChanged()

每当原点发生变化时,都会发出此信号。

另请参阅

origin

属性 originᅟ 的通知信号。

setAngle(arg__1)
Parameters:

arg__1 – 浮点数

另请参阅

angle()

属性 angleᅟ 的设置器。

setAxis(axis)
Parameters:

axisAxis

方便函数,用于将轴设置为 axis

注意:QTransform 的 Qt::YAxis 旋转与 3D 空间中的正确数学旋转相反。QGraphicsRotation 类实现了正确的数学旋转。以下两个代码序列将执行相同的变换:

QTransform t;
t.rotate(45, Qt::YAxis);

QGraphicsRotation r;
r.setAxis(Qt::YAxis);
r.setAngle(-45);

另请参阅

axis()

setAxis(axis)
Parameters:

axisQVector3D

属性 axisᅟ 的设置器。

setOrigin(point)
Parameters:

QVector3D

另请参阅

origin()

属性 originᅟ 的设置器。