Skip to content

Transform

Qt Base Class: QTransform

Signature: QTransform(self) -> None QTransform(self, h11: float, h12: float, h13: float, h21: float, h22: float, h23: float, h31: float, h32: float, h33: float) -> None QTransform(self, h11: float, h12: float, h21: float, h22: float, dx: float, dy: float) -> None QTransform(self, other: PySide6.QtGui.QTransform) -> None

Base classes

Name Children Inherits
SerializeMixin
prettyqt.utils.serializemixin
QTransform
PySide6.QtGui
QTransform(self) -> None

⋔ Inheritance diagram

graph TD
  1473245626560["gui.Transform"]
  1473299806240["utils.SerializeMixin"]
  140713234304496["builtins.object"]
  1473299675456["QtGui.QTransform"]
  1473291690208["Shiboken.Object"]
  1473299806240 --> 1473245626560
  140713234304496 --> 1473299806240
  1473299675456 --> 1473245626560
  1473291690208 --> 1473299675456
  140713234304496 --> 1473291690208

🛈 DocStrings

Bases: SerializeMixin, QTransform

Source code in prettyqt\gui\transform.py
class Transform(serializemixin.SerializeMixin, QtGui.QTransform):
    def __repr__(self):
        return get_repr(
            self,
            self.m11(),
            self.m12(),
            self.m13(),
            self.m21(),
            self.m22(),
            self.m23(),
            self.m31(),
            self.m32(),
            self.m33(),
        )

    def __getitem__(self, value: tuple[int, int]) -> float:
        match value[0], value[1]:
            case 0, 0:
                return self.m11()
            case 0, 1:
                return self.m12()
            case 0, 2:
                return self.m13()
            case 1, 0:
                return self.m21()
            case 1, 1:
                return self.m22()
            case 1, 2:
                return self.m23()
            case 2, 0:
                return self.m31()
            case 2, 1:
                return self.m32()
            case 2, 2:
                return self.m33()
            case _:
                raise ValueError(f"Wrong value {value}")

    @property
    def _m11(self) -> float:
        return self.m11()

    @property
    def _m12(self) -> float:
        return self.m12()

    @property
    def _m13(self) -> float:
        return self.m13()

    @property
    def _m21(self) -> float:
        return self.m21()

    @property
    def _m22(self) -> float:
        return self.m22()

    @property
    def _m23(self) -> float:
        return self.m23()

    @property
    def _m31(self) -> float:
        return self.m31()

    @property
    def _m32(self) -> float:
        return self.m32()

    @property
    def _m33(self) -> float:
        return self.m33()

    __match_args__ = (
        "_m11",
        "_m12",
        "_m13",
        "_m21",
        "_m22",
        "_m23",
        "_m31",
        "_m32",
        "_m33",
    )

    @classmethod
    def clone_from(cls, transform: QtGui.QTransform) -> Self:
        return cls(
            transform.m11(),
            transform.m12(),
            transform.m13(),
            transform.m21(),
            transform.m22(),
            transform.m23(),
            transform.m31(),
            transform.m32(),
            transform.m33(),
        )

    def get_type(self) -> TransformationTypeStr:
        return TRANSFORMATION_TYPE.inverse[self.type()]