QIconEngine¶
The QIconEngine
class provides an abstract base class for QIcon
renderers. More…
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
.
- 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.
- 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.
© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.