QIconEngine#
The QIconEngine
class provides an abstract base class for QIcon
renderers. More…
Synopsis#
Virtual functions#
def
actualSize
(size, mode, state)def
addFile
(fileName, size, mode, state)def
addPixmap
(pixmap, mode, state)def
availableSizes
([mode=QIcon.Normal[, state=QIcon.Off]])def
clone
()def
iconName
()def
isNull
()def
key
()def
paint
(painter, rect, mode, state)def
pixmap
(size, mode, state)def
read
(in)def
scaledPixmap
(size, mode, state, scale)def
write
(out)
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#
An icon engine provides the rendering functions for a QIcon
. Each icon has a corresponding icon engine that is responsible for drawing the icon with a requested size, mode and state.
The icon is rendered by the paint()
function, and the icon can additionally be obtained as a pixmap with the pixmap()
function (the default implementation simply uses paint()
to achieve this). The addPixmap()
function can be used to add new pixmaps to the icon engine, and is used by QIcon
to add specialized custom pixmaps.
The paint()
, pixmap()
, and addPixmap()
functions are all virtual, and can therefore be reimplemented in subclasses of QIconEngine
.
See also
QIconEnginePlugin
- class PySide6.QtGui.QIconEngine#
PySide6.QtGui.QIconEngine(other)
- Parameters:
other –
PySide6.QtGui.QIconEngine
Constructs the icon engine.
- PySide6.QtGui.QIconEngine.IconEngineHook#
These enum values are used for virtual_hook()
to allow additional queries to icon engine without breaking binary compatibility.
Constant
Description
QIconEngine.IsNullHook
Allow to query if this engine represents a null icon. The
data
argument of thevirtual_hook()
is a pointer to a bool that can be set to true if the icon is null. This enum value was added in Qt 5.7.QIconEngine.ScaledPixmapHook
Provides a way to get a pixmap that is scaled according to the given scale (typically equal to the device pixel ratio). The
data
argument of thevirtual_hook()
function is aScaledPixmapArgument
pointer that contains both the input and output arguments. This enum value was added in Qt 5.9.See also
virtual_hook()
- PySide6.QtGui.QIconEngine.actualSize(size, mode, state)#
- Parameters:
size –
PySide6.QtCore.QSize
mode –
Mode
state – State
- Return type:
Returns the actual size of the icon the engine provides for the requested size
, mode
and state
. The default implementation returns the given size
.
- PySide6.QtGui.QIconEngine.addFile(fileName, size, mode, state)#
- Parameters:
fileName – str
size –
PySide6.QtCore.QSize
mode –
Mode
state – State
Called by addFile()
. Adds a specialized pixmap from the file with the given fileName
, size
, mode
and state
. The default pixmap-based engine stores any supplied file names, and it loads the pixmaps on demand instead of using scaled pixmaps if the size of a pixmap matches the size of icon requested. Custom icon engines that implement scalable vector formats are free to ignores any extra files.
- PySide6.QtGui.QIconEngine.addPixmap(pixmap, mode, state)#
- Parameters:
pixmap –
PySide6.QtGui.QPixmap
mode –
Mode
state – State
Called by addPixmap()
. Adds a specialized pixmap
for the given mode
and state
. The default pixmap-based engine stores any supplied pixmaps, and it uses them instead of scaled pixmaps if the size of a pixmap matches the size of icon requested. Custom icon engines that implement scalable vector formats are free to ignores any extra pixmaps.
- PySide6.QtGui.QIconEngine.availableSizes([mode=QIcon.Normal[, state=QIcon.Off]])#
Returns sizes of all images that are contained in the engine for the specific mode
and state
.
- abstract PySide6.QtGui.QIconEngine.clone()#
- Return type:
Reimplement this method to return a clone of this icon engine.
- PySide6.QtGui.QIconEngine.iconName()#
- Return type:
str
Returns the name used to create the engine, if available.
- PySide6.QtGui.QIconEngine.isNull()#
- Return type:
bool
Returns true if this icon engine represent a null QIcon
.
Note
This is a helper method and the actual work is done by the virtual_hook()
method, hence this method depends on icon engine support and may not work with all icon engines.
- PySide6.QtGui.QIconEngine.key()#
- Return type:
str
Returns a key that identifies this icon engine.
- abstract PySide6.QtGui.QIconEngine.paint(painter, rect, mode, state)#
- Parameters:
painter –
PySide6.QtGui.QPainter
rect –
PySide6.QtCore.QRect
mode –
Mode
state – State
Uses the given painter
to paint the icon with the required mode
and state
into the rectangle rect
.
- PySide6.QtGui.QIconEngine.pixmap(size, mode, state)#
- Parameters:
size –
PySide6.QtCore.QSize
mode –
Mode
state – State
- Return type:
Returns the icon as a pixmap with the required size
, mode
, and state
. The default implementation creates a new pixmap and calls paint()
to fill it.
- PySide6.QtGui.QIconEngine.read(in)#
- Parameters:
- Return type:
bool
Reads icon engine contents from the QDataStream in
. Returns true if the contents were read; otherwise returns false
.
QIconEngine
‘s default implementation always return false.
- PySide6.QtGui.QIconEngine.scaledPixmap(size, mode, state, scale)#
- Parameters:
size –
PySide6.QtCore.QSize
mode –
Mode
state – State
scale – float
- Return type:
Returns a pixmap for the given size
, mode
, state
and scale
.
The scale
argument is typically equal to the device pixel ratio of the display.
Note
This is a helper method and the actual work is done by the virtual_hook()
method, hence this method depends on icon engine support and may not work with all icon engines.
Note
Some engines may cast scale
to an integer.
See also
ScaledPixmapArgument
- PySide6.QtGui.QIconEngine.write(out)#
- Parameters:
- Return type:
bool
Writes the contents of this engine to the QDataStream out
. Returns true
if the contents were written; otherwise returns false
.
QIconEngine
‘s default implementation always return false.