PySide6.QtGui.QIconEngine

class QIconEngine

QIconEngine 类为 QIcon 渲染器提供了一个抽象基类。More_

概要

方法

虚拟方法

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

图标引擎为QIcon提供渲染功能。每个图标都有一个对应的图标引擎,负责以请求的大小、模式和状态绘制图标。

图标由paint()函数渲染,并且可以通过pixmap()函数额外获取为位图(默认实现仅使用paint()来实现这一点)。addPixmap()函数可用于向图标引擎添加新的位图,并由QIcon用于添加专门的定制位图。

paint()pixmap()addPixmap()函数都是虚拟的,因此可以在QIconEngine的子类中重新实现。

另请参阅

QIconEnginePlugin

class IconEngineHook

这些枚举值用于virtual_hook(),以允许在不破坏二进制兼容性的情况下向图标引擎添加额外的查询。

常量

描述

QIconEngine.IsNullHook

允许查询此引擎是否表示空图标。data 参数是 virtual_hook() 的一个指针,如果图标为空,可以将其设置为 true。此枚举值在 Qt 5.7 中添加。

QIconEngine.ScaledPixmapHook

提供了一种获取根据给定比例(通常等于设备像素比)缩放的位图的方法。virtual_hook()函数的data参数是一个ScaledPixmapArgument指针,包含输入和输出参数。此枚举值在Qt 5.9中添加。

另请参阅

virtual_hook()

__init__()

构建图标引擎。

__init__(other)
Parameters:

其他QIconEngine

actualSize(size, mode, state)
Parameters:
Return type:

QSize

返回引擎为请求的sizemodestate提供的图标的实际大小。默认实现返回给定的size

返回的大小是与设备无关的像素(这对于高DPI像素图很重要)。

addFile(fileName, size, mode, state)
Parameters:

addFile()调用。从具有给定fileNamesizemodestate的文件中添加一个专门的pixmap。默认的基于pixmap的引擎会存储任何提供的文件名,并且如果pixmap的大小与请求的图标大小匹配,它会按需加载pixmap,而不是使用缩放的pixmap。实现可缩放矢量格式的自定义图标引擎可以自由忽略任何额外的文件。

addPixmap(pixmap, mode, state)
Parameters:

addPixmap()调用。为给定的modestate添加一个专门的pixmap。默认的基于pixmap的引擎会存储任何提供的pixmaps,如果pixmap的大小与请求的图标大小匹配,则使用它们而不是缩放的pixmaps。实现可缩放矢量格式的自定义图标引擎可以自由忽略任何额外的pixmaps。

availableSizes([mode=QIcon.Normal[, state=QIcon.Off]])
Parameters:
Return type:

QSize的列表

返回引擎中包含的所有图像的尺寸,这些图像适用于特定的modestate

abstract clone()
Return type:

QIconEngine

重新实现此方法以返回此图标引擎的克隆。

iconName()
Return type:

字符串

返回用于创建引擎的名称(如果可用)。

isNull()
Return type:

布尔

如果此图标引擎表示一个空的 QIcon,则返回 true。

注意

如果图标引擎没有重新实现这个函数,实际工作将由virtual_hook()方法完成,因此这个方法依赖于图标引擎的支持,可能不适用于所有图标引擎。

key()
Return type:

字符串

返回一个标识此图标引擎的键。

abstract paint(painter, rect, mode, state)
Parameters:

使用给定的painter将图标绘制到矩形rect中,并带有所需的modestate

pixmap(size, mode, state)
Parameters:
Return type:

QPixmap

返回具有所需sizemodestate的图标作为pixmap。默认实现创建一个新的pixmap并调用paint()来填充它。

read(in)
Parameters:

inQDataStream

Return type:

布尔

从QDataStream in读取图标引擎内容。如果内容被读取,则返回true;否则返回false

QIconEngine 的默认实现总是返回 false。

scaledPixmap(size, mode, state, scale)
Parameters:
Return type:

QPixmap

返回给定sizemodestatescale的pixmap。

scale 参数通常等于显示设备的像素比。大小以设备无关的像素给出。

注意

如果图标引擎没有重新实现这个函数,实际工作将由virtual_hook()方法完成,因此这个方法依赖于图标引擎的支持,可能不适用于所有图标引擎。

注意

一些引擎可能会将scale转换为整数。

另请参阅

ScaledPixmapArgument

write(out)
Parameters:

输出QDataStream

Return type:

布尔

将此引擎的内容写入QDataStream out。如果内容已写入,则返回true;否则返回false

QIconEngine 的默认实现总是返回 false。

class ScaledPixmapArgument

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

PySide6.QtGui.QIconEngine.ScaledPixmapArgument.size
PySide6.QtGui.QIconEngine.ScaledPixmapArgument.mode
PySide6.QtGui.QIconEngine.ScaledPixmapArgument.state
PySide6.QtGui.QIconEngine.ScaledPixmapArgument.scale
PySide6.QtGui.QIconEngine.ScaledPixmapArgument.pixmap