QGraphicsRotation#

The QGraphicsRotation class provides a rotation transformation around a given axis. More

Inheritance diagram of PySide6.QtWidgets.QGraphicsRotation

New in version 4.6.

Synopsis#

Properties#

  • angle - The angle for clockwise rotation, in degrees

  • axis - Rotation axis, specified by a vector in 3D space

  • origin - The origin of the rotation in 3D space

Functions#

Signals#

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

Detailed Description#

You can provide the desired axis by assigning a QVector3D to the axis property or by passing a member if Axis to the setAxis convenience function. By default the axis is (0, 0, 1) i.e., rotation around the Z axis.

The angle property, which is provided by QGraphicsRotation , now describes the number of degrees to rotate around this axis.

QGraphicsRotation provides certain parameters to help control how the rotation should be applied.

The origin is the point that the item is rotated around (i.e., it stays fixed relative to the parent as the rest of the item is rotated). By default the origin is QPointF (0, 0).

The angle property provides the number of degrees to rotate the item clockwise around the origin. This value also be negative, indicating a counter-clockwise rotation. For animation purposes it may also be useful to provide rotation angles exceeding (-360, 360) degrees, for instance to animate how an item rotates several times.

Note: the final rotation is the combined effect of a rotation in 3D space followed by a projection back to 2D. If several rotations are performed in succession, they will not behave as expected unless they were all around the Z axis.

See also

QGraphicsTransform setRotation() rotate()

class PySide6.QtWidgets.QGraphicsRotation([parent=None])#
Parameters:

parentPySide6.QtCore.QObject

Constructs a new QGraphicsRotation with the given parent.

Note

Properties can be used directly when from __feature__ import true_property is used or via accessor functions otherwise.

property PᅟySide6.QtWidgets.QGraphicsRotation.angle: float#

This property holds the angle for clockwise rotation, in degrees..

The angle can be any real number; the default value is 0.0. A value of 180 will rotate 180 degrees, clockwise. If you provide a negative number, the item will be rotated counter-clockwise. Normally the rotation angle will be in the range (-360, 360), but you can also provide numbers outside of this range (e.g., a angle of 370 degrees gives the same result as 10 degrees). Setting the angle to NaN results in no rotation.

See also

origin

Access functions:
property PᅟySide6.QtWidgets.QGraphicsRotation.axis: PySide6.QtGui.QVector3D#

This property holds a rotation axis, specified by a vector in 3D space..

This can be any axis in 3D space. By default the axis is (0, 0, 1), which is aligned with the Z axis. If you provide another axis, QGraphicsRotation will provide a transformation that rotates around this axis. For example, if you would like to rotate an item around its X axis, you could pass (1, 0, 0) as the axis.

See also

QTransform angle

Access functions:
property PᅟySide6.QtWidgets.QGraphicsRotation.origin: PySide6.QtGui.QVector3D#

This property holds the origin of the rotation in 3D space..

All rotations will be done relative to this point (i.e., this point will stay fixed, relative to the parent, when the item is rotated).

See also

angle

Access functions:
PySide6.QtWidgets.QGraphicsRotation.angle()#
Return type:

float

See also

setAngle()

Getter of property angle .

PySide6.QtWidgets.QGraphicsRotation.angleChanged()#

This signal is emitted whenever the angle has changed.

See also

angle

Notification signal of property angle .

PySide6.QtWidgets.QGraphicsRotation.axis()#
Return type:

PySide6.QtGui.QVector3D

See also

setAxis()

Getter of property axis .

PySide6.QtWidgets.QGraphicsRotation.axisChanged()#

This signal is emitted whenever the axis of the object changes.

See also

axis

Notification signal of property axis .

PySide6.QtWidgets.QGraphicsRotation.origin()#
Return type:

PySide6.QtGui.QVector3D

See also

setOrigin()

Getter of property origin .

PySide6.QtWidgets.QGraphicsRotation.originChanged()#

This signal is emitted whenever the origin has changed.

See also

origin

Notification signal of property origin .

PySide6.QtWidgets.QGraphicsRotation.setAngle(arg__1)#
Parameters:

arg__1 – float

See also

angle()

Setter of property angle .

PySide6.QtWidgets.QGraphicsRotation.setAxis(axis)#
Parameters:

axisAxis

Convenience function to set the axis to axis.

Note: the YAxis rotation for QTransform is inverted from the correct mathematical rotation in 3D space. The QGraphicsRotation class implements a correct mathematical rotation. The following two sequences of code will perform the same transformation:

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

QGraphicsRotation r;
r.setAxis(Qt::YAxis);
r.setAngle(-45);
PySide6.QtWidgets.QGraphicsRotation.setAxis(axis)
Parameters:

axisPySide6.QtGui.QVector3D

See also

axis()

Setter of property axis .

PySide6.QtWidgets.QGraphicsRotation.setOrigin(point)#
Parameters:

pointPySide6.QtGui.QVector3D

See also

origin()

Setter of property origin .