PySide6.QtWidgets.QGraphicsTransform¶
- class QGraphicsTransform¶
- The - QGraphicsTransformclass is an abstract base class for building advanced transformations on QGraphicsItems. More…- Inherited by: - QGraphicsScale,- QGraphicsRotation- Added in version 4.6. - Synopsis¶- Methods¶- def - __init__()
 - Virtual methods¶- def - applyTo()
 - Slots¶- def - update()
 - 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¶- As an alternative to - transform,- QGraphicsTransformlets you create and control advanced transformations that can be configured independently using specialized properties.- QGraphicsItemallows you to assign any number of- QGraphicsTransforminstances to one- QGraphicsItem. Each- QGraphicsTransformis applied in order, one at a time, to the- QGraphicsItemit’s assigned to.- QGraphicsTransformis particularly useful for animations. Whereas- setTransform()lets you assign any transform directly to an item, there is no direct way to interpolate between two different transformations (e.g., when transitioning between two states, each for which the item has a different arbitrary transform assigned). Using- QGraphicsTransformyou can interpolate the property values of each independent transformation. The resulting operation is then combined into a single transform which is applied to- QGraphicsItem.- Transformations are computed in true 3D space using QMatrix4x4. When the transformation is applied to a - QGraphicsItem, it will be projected back to a 2D QTransform. When multiple- QGraphicsTransformobjects are applied to a- QGraphicsItem, all of the transformations are computed in true 3D space, with the projection back to 2D only occurring after the last- QGraphicsTransformis applied. The exception to this is- QGraphicsRotation, which projects back to 2D after each rotation to preserve the perspective effect around the X and Y axes.- If you want to create your own configurable transformation, you can create a subclass of - QGraphicsTransform(or any or the existing subclasses), and reimplement the pure virtual- applyTo()function, which takes a pointer to a QMatrix4x4. Each operation you would like to apply should be exposed as properties (e.g., customTransform->setVerticalShear(2.5)). Inside you reimplementation of- applyTo(), you can modify the provided transform respectively.- QGraphicsTransformcan be used together with- setTransform(),- setRotation(), and- setScale().- See also - Constructs a new - QGraphicsTransformwith the given- parent.- abstract applyTo(matrix)¶
- Parameters:
- matrix – - QMatrix4x4
 
 - This pure virtual method has to be reimplemented in derived classes. - It applies this transformation to - matrix.- See also - update()¶
 - Notifies that this transform operation has changed its parameters in such a way that - applyTo()will return a different result than before.- When implementing you own custom graphics transform, you must call this function every time you change a parameter, to let - QGraphicsItemknow that its transformation needs to be updated.- See also