Skip to content

IconEngine

Qt Base Class: QIconEngine

Signature: QIconEngine(self) -> None QIconEngine(self, other: PySide6.QtGui.QIconEngine) -> None

Base classes

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

Subclasses

Class Module Description
CharIconEngine prettyqt.iconprovider.chariconengine

⋔ Inheritance diagram

graph TD
  1473245547504["gui.IconEngine"]
  1473299806240["utils.SerializeMixin"]
  140713234304496["builtins.object"]
  1473300116528["QtGui.QIconEngine"]
  1473291690208["Shiboken.Object"]
  1473299806240 --> 1473245547504
  140713234304496 --> 1473299806240
  1473300116528 --> 1473245547504
  1473291690208 --> 1473300116528
  140713234304496 --> 1473291690208

🛈 DocStrings

Bases: SerializeMixin, QIconEngine

Abstract base class for QIcon renderers.

Source code in prettyqt\gui\iconengine.py
class IconEngine(serializemixin.SerializeMixin, gui.QIconEngine):
    """Abstract base class for QIcon renderers."""

    def __repr__(self):
        return get_repr(self)

    def __bool__(self):
        return not self.isNull()

    def add_file(
        self,
        path: datatypes.PathType,
        size: datatypes.SizeType,
        mode: gui.icon.ModeStr | gui.QIcon.Mode,
        state: gui.icon.StateStr | gui.QIcon.State,
    ):
        self.addFile(
            os.fspath(path),
            datatypes.to_size(size),
            gui.icon.MODE.get_enum_value(mode),
            gui.icon.STATE.get_enum_value(state),
        )

    def add_pixmap(
        self,
        pixmap: gui.QPixmap,
        mode: gui.icon.ModeStr | gui.QIcon.Mode,
        state: gui.icon.StateStr | gui.QIcon.State,
    ):
        self.addPixmap(
            pixmap,
            gui.icon.MODE.get_enum_value(mode),
            gui.icon.STATE.get_enum_value(state),
        )

    def get_actual_size(
        self,
        size: datatypes.SizeType,
        mode: gui.icon.ModeStr | gui.QIcon.Mode = "normal",
        state: gui.icon.StateStr | gui.QIcon.State = "off",
    ) -> core.Size:
        return core.Size(
            self.actualSize(
                datatypes.to_size(size),
                gui.icon.MODE.get_enum_value(mode),
                gui.icon.STATE.get_enum_value(state),
            )
        )

    def get_available_sizes(
        self,
        mode: gui.icon.ModeStr | gui.QIcon.Mode = "normal",
        state: gui.icon.StateStr | gui.QIcon.State = "off",
    ) -> list[core.Size]:
        return [
            core.Size(i)
            for i in self.availableSizes(
                gui.icon.MODE.get_enum_value(mode), gui.icon.STATE.get_enum_value(state)
            )
        ]

    def get_pixmap(
        self,
        size: datatypes.SizeType,
        mode: gui.icon.ModeStr | gui.QIcon.Mode = "normal",
        state: gui.icon.StateStr | gui.QIcon.State = "off",
        scale: float | None = None,
    ) -> gui.Pixmap:
        if scale is None:
            return gui.Pixmap(
                self.pixmap(
                    datatypes.to_size(size),
                    gui.icon.MODE.get_enum_value(mode),
                    gui.icon.STATE.get_enum_value(state),
                )
            )
        else:
            return gui.Pixmap(
                self.scaledPixmap(
                    datatypes.to_size(size),
                    gui.icon.MODE.get_enum_value(mode),
                    gui.icon.STATE.get_enum_value(state),
                    scale,
                )
            )