class QIconEngine#

QIconEngine 类提供了一个用于 QIcon 渲染器的抽象基类。 更多...

概述#

方法#

虚方法#

注意

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

详细说明#

图标引擎为QIcon提供渲染函数。每个图标都有一个相应的图标引擎,它负责使用所需的大小、模式和状态绘制图标。

图标是通过paint()函数渲染的,图标还可以通过pixmap()函数获取作为 pixmap(默认实现简单使用paint()来达到这个目的)。可以使用addPixmap()函数向图标引擎添加新的 pixmap,QIcon使用它来添加专门的定制 pixmap。

paint()pixmap()addPixmap()函数都是虚拟的,因此可以被QIconEngine的子类重写。

另请参阅

QIconEnginePlugin

class IconEngineHook#

这些枚举值用于virtual_hook()以允许进行额外的图标引擎查询而不破坏二进制兼容性。

常量

描述

QIconEngine.IsNullHook

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

QIconEngine.ScaledPixmapHook

提供了一种获得像素映射的方式,该映射会根据给定的比例进行缩放(通常等于设备的像素比)。在virtual_hook()函数的参数中,data是一个指向ScaledPixmapArgument的指针,包含输入和输出参数。这个枚举值是在Qt 5.9中添加的。

另请参阅

virtual_hook()

__init__()#

构建图标引擎。

__init__(other)
参数:

otherQIconEngine

actualSize(size, mode, state)#
参数:
返回类型:

QSize

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

addFile(fileName, size, mode, state)#
参数:

addFile()调用。根据给定的文件名fileNamesizemodestate添加特殊化的像素映射。默认的基于像素映射的引擎会存储任何提供的文件名,并且根据需要而不是使用缩放像素映射加载像素映射,如果像素映射的大小与请求的图标大小相匹配。实现可缩放矢量格式的自定义图标引擎可以自由忽略任何额外的文件。

addPixmap(pixmap, mode, state)#
参数:

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

availableSizes([mode=QIcon.Normal[, state=QIcon.Off]])#
参数:
返回类型:

. QSize 列表

返回特定 modestate 在引擎中的所有图像的大小。

abstract clone()#
返回类型:

QIconEngine

重写此方法以返回此图标引擎的副本。

iconName()#
返回类型:

str

如果有,返回用于创建引擎的名称。

isNull()#
返回类型:

bool

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

注意

这是一个辅助方法,实际工作由 virtual_hook() 方法完成,因此此方法依赖于图标引擎的支持,并且可能不适用于所有图标引擎。

key()#
返回类型:

str

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

abstract paint(painter, rect, mode, state)#
参数:

使用给定的 painter 以所需的 modestate 将图标绘制到矩形 rect 中。

pixmap(size, mode, state)#
参数:
返回类型:

QPixmap

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

read(in)#
参数:

inQDataStream

返回类型:

bool

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

QIconEngine 的默认实现始终返回 false。

scaledPixmap(size, mode, state, scale)#
参数:
返回类型:

QPixmap

返回给定 sizemodestatescale 的 pixmap。

参数 scale 通常等于显示的设备像素比。

注意

这是一个辅助方法,实际工作由 virtual_hook() 方法完成,因此此方法依赖于图标引擎的支持,并且可能不适用于所有图标引擎。

注意

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

另请参阅

ScaledPixmapArgument

write(out)#
参数:

outQDataStream

返回类型:

bool

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

QIconEngine 的默认实现始终返回 false。