PySide6.QtWidgets.QGraphicsRotation¶
- class QGraphicsRotation¶
QGraphicsRotation类提供了围绕给定轴的旋转变换。更多…在版本4.6中添加。
概要¶
属性¶
方法¶
def
__init__()def
angle()def
axis()def
origin()def
setAngle()def
setAxis()def
setOrigin()
信号¶
def
angleChanged()def
axisChanged()def
originChanged()
注意
本文档可能包含从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将导致不旋转。
另请参阅
- Access functions:
此属性保存一个旋转轴,由3D空间中的向量指定。
这可以是3D空间中的任何轴。默认情况下,轴是(0, 0, 1),与Z轴对齐。如果你提供另一个轴,
QGraphicsRotation将提供一个围绕该轴旋转的变换。例如,如果你想围绕X轴旋转一个项目,你可以传递(1, 0, 0)作为轴。另请参阅
- Access functions:
此属性保存3D空间中旋转的原点。
所有旋转将相对于此点进行(即,当项目旋转时,此点将相对于父级保持固定)。
另请参阅
- Access functions:
使用给定的
parent构造一个新的QGraphicsRotation。- angle()¶
- Return type:
浮点数
另请参阅
属性
angleᅟ的获取器。- angleChanged()¶
每当角度发生变化时,都会发出此信号。
另请参阅
属性
angleᅟ的通知信号。属性
axisᅟ的获取器。- axisChanged()¶
每当对象的轴发生变化时,就会发出此信号。
另请参阅
属性
axisᅟ的通知信号。- origin()¶
- Return type:
另请参阅
属性
originᅟ的获取器。- originChanged()¶
每当原点发生变化时,都会发出此信号。
另请参阅
属性
originᅟ的通知信号。属性
angleᅟ的设置器。方便函数,用于将轴设置为
axis。注意:QTransform 的 Qt::YAxis 旋转与 3D 空间中的正确数学旋转相反。
QGraphicsRotation类实现了正确的数学旋转。以下两个代码序列将执行相同的变换:QTransform t; t.rotate(45, Qt::YAxis); QGraphicsRotation r; r.setAxis(Qt::YAxis); r.setAngle(-45);
另请参阅
- setAxis(axis)
- Parameters:
axis –
QVector3D
属性
axisᅟ的设置器。属性
originᅟ的设置器。