PySide6.QtGui.QIcon

class QIcon

QIcon 类提供了不同模式和状态下的可缩放图标。更多

概要

方法

静态函数

注意

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

详细描述

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

一个QIcon可以从给定的像素图集中生成更小、更大、活动和禁用的像素图。这些像素图被Qt UI组件用来显示代表特定操作的图标。

从图像文件创建图标

构造一个QIcon的最简单方法是从一个或多个图像文件或资源创建。例如:

button = QToolButton()
button.setIcon(QIcon("open.png"))

QIcon 可以为不同的状态存储多个图像,Qt 将选择与操作当前状态最匹配的图像。

openIcon = QIcon("open.png")
openIcon.addFile("open-disabled.png", QIcon.Disabled)

Qt 将在需要时生成所需的图标样式和大小,例如,Disabled 状态的像素图可能是通过将提供的像素图灰度化生成的。

要清除图标,只需在其位置设置一个空图标:

button.setIcon(QIcon())

使用 supportedImageFormats()supportedImageFormats() 函数来检索支持的文件格式的完整列表。

从主题或图标库创建图标

构造图标最方便的方法是使用fromTheme()工厂函数。Qt实现了对支持Freedesktop图标主题规范的平台上的原生图标库的访问。自Qt 6.7以来,Qt还提供了对macOS、iOS以及Windows 10和11上的原生图标库的访问。在Android上,只要系统上有MaterialIcons-Regular字体,或者将其作为资源捆绑在应用程序的:/qt-project.org/icons/MaterialIcons-Regular.ttf路径下,Qt就可以访问Material设计系统中的图标。

undoicon = QIcon.fromTheme(QIcon.ThemeIcon.EditUndo)

应用程序可以使用相同的主题规范来提供自己的图标库。请参见下面的示例主题描述和图像文件的相应目录结构。应用程序提供的主题中的图标优先于原生图标库。

图标引擎

在内部,QIcon 实例化一个 icon engine 后端来处理和渲染图标图像。图标引擎的类型由添加到 QIcon 对象的第一个文件、像素图或主题决定。然后,其他文件或像素图将由相同的引擎处理。

图标引擎在处理和渲染图标的方式上有所不同。默认的基于像素图的引擎只处理固定图像,而QtSvg模块提供了一个图标引擎,可以按请求的大小重新渲染提供的矢量图形文件以获得更好的质量。主题图标引擎通常只提供来自本机平台图标库的图像,并忽略任何添加的文件或像素图。

此外,还可以提供自定义的图标引擎。这使得应用程序能够自定义生成图标的各个方面。通过QIconEnginePlugin,可以为不同的文件后缀注册不同的图标引擎,使得第三方能够提供额外的图标引擎,以补充Qt自带的图标引擎。

创建使用QIcon的类

如果你编写自己的小部件,并且有一个选项可以设置一个小图标,考虑允许为该图标设置一个QIcon。Qt类QToolButton就是这样一个小部件的例子。

提供一个方法来设置一个QIcon,并使用paint绘制QIcon,根据当前小部件的状态选择合适的参数。例如:

def drawIcon(self, painter, rect):

    icon.paint(painter, rect, Qt.AlignCenter, isEnabled() ? QIcon.Normal
    super().__init__()
                                               isChecked() ? QIcon.On
    super().__init__()

当你使用pixmap(QSize, Mode, State)检索一个pixmap时,如果没有为这个给定的大小、模式和状态添加pixmap,使用addFile()addPixmap()添加,那么QIcon将会动态生成一个。这个pixmap生成过程发生在QIconEngine中。默认的引擎会在需要时缩小pixmaps,但从不放大,并且它使用当前样式来计算禁用状态的外观。

你可能还会使用Active模式,也许当鼠标悬停在部件上时使你的部件Active(参见QWidget::enterEvent()),当鼠标按下等待释放以激活功能时,或者当它是当前选中的项目时。如果部件可以切换,“On”模式可能用于绘制不同的图标。

../../_images/icon.png

注意

QIcon 在创建图标之前需要一个 QGuiApplication 实例。

高DPI图标

由原生图标库提供的图标通常基于矢量图形,并且会自动以适当的分辨率渲染。

当通过addFile()提供您自己的图像文件时,QIcon将使用Qt的"@nx" DPI 语法。如果您有自己的自定义目录结构并且不遵循Freedesktop图标主题规范,这将非常有用。

当提供一个应用程序主题时,您需要遵循图标主题规范来指定不同分辨率下使用的文件。为了使QIcon使用高DPI版本的图像,请在适当的index.theme文件中添加一个额外的条目:

[Icon Theme]
Name=Test
Comment=Test Theme

Directories=32x32/actions,32x32@2/actions

[32x32/actions]
Size=32
Context=Actions
Type=Fixed

# High DPI version of the entry above.
[32x32@2/actions]
Size=32
Scale=2
Type=Fixed

您的图标主题目录将如下所示:

├── 32x32
│   └── actions
│       └── appointment-new.png
├── 32x32@2
│   └── actions
│       └── appointment-new.png
└── index.theme
class Mode

此枚举类型描述了pixmap预期使用的模式。当前定义的模式有:

常量

描述

QIcon.Normal

当用户不与图标交互时显示像素图,但图标所代表的功能是可用的。

QIcon.Disabled

当图标所代表的功能不可用时显示该像素图。

QIcon.Active

当图标所代表的功能可用且用户正在与图标交互时显示像素图,例如,将鼠标移动到图标上或点击它。

QIcon.Selected

当图标所代表的项目被选中时显示该像素图。

class State

此枚举描述了位图预期使用的状态。状态可以是:

常量

描述

QIcon.Off

当小部件处于“关闭”状态时显示像素图

QIcon.On

当小部件处于“开启”状态时显示像素图

class ThemeIcon

此枚举提供了对大多数图标主题实现所提供的图标的访问。

常量

描述

QIcon.ThemeIcon.AddressBookNew

用于创建新地址簿的操作的图标。

QIcon.ThemeIcon.ApplicationExit

用于退出应用程序的图标。

QIcon.ThemeIcon.AppointmentNew

用于创建新预约的操作的图标。

QIcon.ThemeIcon.CallStart

用于发起或接听电话的图标。

QIcon.ThemeIcon.CallStop

用于停止当前通话的图标。

QIcon.ThemeIcon.ContactNew

用于创建新联系人操作的图标。

QIcon.ThemeIcon.DocumentNew

用于创建新文档操作的图标。

QIcon.ThemeIcon.DocumentOpen

用于打开文档的操作的图标。

QIcon.ThemeIcon.DocumentOpenRecent

用于打开最近打开的文档的操作的图标。

QIcon.ThemeIcon.DocumentPageSetup

用于页面设置操作的图标。

QIcon.ThemeIcon.DocumentPrint

用于打印操作的图标。

QIcon.ThemeIcon.DocumentPrintPreview

用于打印预览操作的图标。

QIcon.ThemeIcon.DocumentProperties

用于查看文档属性的操作图标。

QIcon.ThemeIcon.DocumentRevert

用于恢复到文档先前版本的操作的图标。

QIcon.ThemeIcon.DocumentSave

用于保存操作的图标。

QIcon.ThemeIcon.DocumentSaveAs

用于另存为操作的图标。

QIcon.ThemeIcon.DocumentSend

用于发送操作的图标。

QIcon.ThemeIcon.EditClear

用于清除操作的图标。

QIcon.ThemeIcon.EditCopy

用于复制操作的图标。

QIcon.ThemeIcon.EditCut

用于剪切操作的图标。

QIcon.ThemeIcon.EditDelete

用于删除操作的图标。

QIcon.ThemeIcon.EditFind

用于查找操作的图标。

QIcon.ThemeIcon.EditPaste

用于粘贴操作的图标。

QIcon.ThemeIcon.EditRedo

用于重做操作的图标。

QIcon.ThemeIcon.EditSelectAll

用于全选操作的图标。

QIcon.ThemeIcon.EditUndo

用于撤销操作的图标。

QIcon.ThemeIcon.FolderNew

用于创建新文件夹的图标。

QIcon.ThemeIcon.FormatIndentLess

用于减少缩进格式操作的图标。

QIcon.ThemeIcon.FormatIndentMore

用于增加缩进格式操作的图标。

QIcon.ThemeIcon.FormatJustifyCenter

用于居中对齐格式化操作的图标。

QIcon.ThemeIcon.FormatJustifyFill

用于填充对齐格式化操作的图标。

QIcon.ThemeIcon.FormatJustifyLeft

用于左对齐格式化操作的图标。

QIcon.ThemeIcon.FormatJustifyRight

用于右对齐操作的图标。

QIcon.ThemeIcon.FormatTextDirectionLtr

用于从左到右文本格式化操作的图标。

QIcon.ThemeIcon.FormatTextDirectionRtl

用于从右到左格式化操作的图标。

QIcon.ThemeIcon.FormatTextBold

用于粗体文本格式化操作的图标。

QIcon.ThemeIcon.FormatTextItalic

用于斜体文本格式化操作的图标。

QIcon.ThemeIcon.FormatTextUnderline

用于下划线文本格式化操作的图标。

QIcon.ThemeIcon.FormatTextStrikethrough

用于删除线文本格式操作的图标。

QIcon.ThemeIcon.GoDown

用于在列表中向下移动操作的图标。

QIcon.ThemeIcon.GoHome

用于转到主位置操作的图标。

QIcon.ThemeIcon.GoNext

用于转到列表中的下一个项目操作的图标。

QIcon.ThemeIcon.GoPrevious

用于转到列表中的前一项操作的图标。

QIcon.ThemeIcon.GoUp

用于在列表中向上移动操作的图标。

QIcon.ThemeIcon.HelpAbout

帮助菜单中关于项的图标。

QIcon.ThemeIcon.HelpFaq

帮助菜单中FAQ项的图标。

QIcon.ThemeIcon.InsertImage

应用程序中插入图片操作的图标。

QIcon.ThemeIcon.InsertLink

应用程序中插入链接操作的图标。

QIcon.ThemeIcon.InsertText

应用程序中插入文本操作的图标。

QIcon.ThemeIcon.ListAdd

用于添加到列表操作的图标。

QIcon.ThemeIcon.ListRemove

用于从列表中移除操作的图标。

QIcon.ThemeIcon.MailForward

用于转发操作的图标。

QIcon.ThemeIcon.MailMarkImportant

用于标记为重要操作的图标。

QIcon.ThemeIcon.MailMarkRead

用于标记为已读操作的图标。

QIcon.ThemeIcon.MailMarkUnread

用于标记为未读操作的图标。

QIcon.ThemeIcon.MailMessageNew

用于撰写新邮件操作的图标。

QIcon.ThemeIcon.MailReplyAll

用于全部回复操作的图标。

QIcon.ThemeIcon.MailReplySender

用于回复发件人操作的图标。

QIcon.ThemeIcon.MailSend

用于发送操作的图标。

QIcon.ThemeIcon.MediaEject

用于媒体播放器或文件管理器的弹出操作的图标。

QIcon.ThemeIcon.MediaPlaybackPause

媒体播放器的暂停操作的图标。

QIcon.ThemeIcon.MediaPlaybackStart

媒体播放器的开始播放操作的图标。

QIcon.ThemeIcon.MediaPlaybackStop

媒体播放器的停止操作的图标。

QIcon.ThemeIcon.MediaRecord

媒体应用程序中录制操作的图标。

QIcon.ThemeIcon.MediaSeekBackward

媒体播放器的向后搜索操作的图标。

QIcon.ThemeIcon.MediaSeekForward

媒体播放器的快进操作的图标。

QIcon.ThemeIcon.MediaSkipBackward

媒体播放器的跳过上一首操作的图标。

QIcon.ThemeIcon.MediaSkipForward

媒体播放器中快进操作的图标。

QIcon.ThemeIcon.ObjectRotateLeft

用于对对象执行向左旋转操作的图标。

QIcon.ThemeIcon.ObjectRotateRight

用于对对象执行的向右旋转操作的图标。

QIcon.ThemeIcon.ProcessStop

用于应用程序中停止操作的图标,这些操作可能需要一些时间来处理,例如浏览器中的网页加载。

QIcon.ThemeIcon.SystemLockScreen

用于锁屏操作的图标。

QIcon.ThemeIcon.SystemLogOut

用于注销操作的图标。

QIcon.ThemeIcon.SystemSearch

用于搜索操作的图标。

QIcon.ThemeIcon.SystemReboot

用于重启操作的图标。

QIcon.ThemeIcon.SystemShutdown

用于关机操作的图标。

QIcon.ThemeIcon.ToolsCheckSpelling

用于检查拼写操作的图标。

QIcon.ThemeIcon.ViewFullscreen

用于全屏操作的图标。

QIcon.ThemeIcon.ViewRefresh

用于刷新操作的图标。

QIcon.ThemeIcon.ViewRestore

用于退出全屏视图的图标。

QIcon.ThemeIcon.WindowClose

用于关闭窗口操作的图标。

QIcon.ThemeIcon.WindowNew

用于新建窗口操作的图标。

QIcon.ThemeIcon.ZoomFitBest

用于最佳适应操作的图标。

QIcon.ThemeIcon.ZoomIn

用于放大操作的图标。

QIcon.ThemeIcon.ZoomOut

用于缩小操作的图标。

QIcon.ThemeIcon.AudioCard

音频渲染设备的图标。

QIcon.ThemeIcon.AudioInputMicrophone

麦克风音频输入设备的图标。

QIcon.ThemeIcon.Battery

系统电池设备的图标。

QIcon.ThemeIcon.CameraPhoto

数码相机设备的图标。

QIcon.ThemeIcon.CameraVideo

视频摄像头设备的图标。

QIcon.ThemeIcon.CameraWeb

网络摄像头设备的图标。

QIcon.ThemeIcon.Computer

整个计算设备的图标。

QIcon.ThemeIcon.DriveHarddisk

硬盘驱动器的图标。

QIcon.ThemeIcon.DriveOptical

用于光盘驱动器(如CD和DVD)的图标。

QIcon.ThemeIcon.InputGaming

游戏输入设备的图标。

QIcon.ThemeIcon.InputKeyboard

键盘输入设备的图标。

QIcon.ThemeIcon.InputMouse

鼠标输入设备的图标。

QIcon.ThemeIcon.InputTablet

图形输入板输入设备的图标。

QIcon.ThemeIcon.MediaFlash

用于闪存媒体的图标,例如记忆棒。

QIcon.ThemeIcon.MediaOptical

用于物理光学媒体(如CD和DVD)的图标。

QIcon.ThemeIcon.MediaTape

通用物理磁带媒体的图标。

QIcon.ThemeIcon.MultimediaPlayer

通用多媒体播放设备的图标。

QIcon.ThemeIcon.NetworkWired

有线网络连接的图标。

QIcon.ThemeIcon.NetworkWireless

无线网络连接的图标。

QIcon.ThemeIcon.Phone

用于电话设备的图标。

QIcon.ThemeIcon.Printer

打印机设备的图标。

QIcon.ThemeIcon.Scanner

扫描仪设备的图标。

QIcon.ThemeIcon.VideoDisplay

用于显示视频的监视器的图标。

QIcon.ThemeIcon.AppointmentMissed

错过预约时显示的图标。

QIcon.ThemeIcon.AppointmentSoon

用于表示即将发生的约会的图标。

QIcon.ThemeIcon.AudioVolumeHigh

用于表示高音量的图标。

QIcon.ThemeIcon.AudioVolumeLow

用于表示低音量的图标。

QIcon.ThemeIcon.AudioVolumeMedium

用于表示中等音量的图标。

QIcon.ThemeIcon.AudioVolumeMuted

用于指示音频播放静音状态的图标。

QIcon.ThemeIcon.BatteryCaution

当电池电量低于40%时使用的图标。

QIcon.ThemeIcon.BatteryLow

电池电量低于20%时使用的图标。

QIcon.ThemeIcon.DialogError

用于在打开对话框向用户解释错误情况时使用的图标。

QIcon.ThemeIcon.DialogInformation

当打开对话框以向用户提供可能与请求的操作相关的信息时使用的图标。

QIcon.ThemeIcon.DialogPassword

当打开请求用户认证凭据的对话框时使用的图标。

QIcon.ThemeIcon.DialogQuestion

当打开对话框向用户提出简单问题时使用的图标。

QIcon.ThemeIcon.DialogWarning

当打开对话框以警告用户请求的操作即将出现问题时使用的图标。

QIcon.ThemeIcon.FolderDragAccept

用于文件夹的图标,当一个可接受的对象被拖动到它上面时。

QIcon.ThemeIcon.FolderOpen

用于文件夹的图标,当它们的内容在同一窗口中显示时。

QIcon.ThemeIcon.FolderVisiting

用于文件夹的图标,当它们的内容在另一个窗口中显示时。

QIcon.ThemeIcon.ImageLoading

在加载另一张图像时使用的图标。

QIcon.ThemeIcon.ImageMissing

当无法加载其他图像时使用的图标。

QIcon.ThemeIcon.MailAttachment

包含附件的消息的图标。

QIcon.ThemeIcon.MailUnread

未读消息的图标。

QIcon.ThemeIcon.MailRead

已读消息的图标。

QIcon.ThemeIcon.MailReplied

已回复消息的图标。

QIcon.ThemeIcon.MediaPlaylistRepeat

媒体播放器重复模式的图标。

QIcon.ThemeIcon.MediaPlaylistShuffle

媒体播放器随机播放模式的图标。

QIcon.ThemeIcon.NetworkOffline

用于指示设备未连接到网络的图标。

QIcon.ThemeIcon.PrinterPrinting

当打印作业成功发送到打印设备时使用的图标。

QIcon.ThemeIcon.SecurityHigh

用于指示项目安全级别已知为高的图标。

QIcon.ThemeIcon.SecurityLow

用于指示项目安全级别已知为低的图标。

QIcon.ThemeIcon.SoftwareUpdateAvailable

用于指示有可用更新的图标。

QIcon.ThemeIcon.SoftwareUpdateUrgent

用于指示有紧急更新可用的图标。

QIcon.ThemeIcon.SyncError

在尝试跨设备同步数据时发生错误时使用的图标。

QIcon.ThemeIcon.SyncSynchronizing

用于在数据成功跨设备同步时显示的图标。

QIcon.ThemeIcon.UserAvailable

用于表示用户可用的图标。

QIcon.ThemeIcon.UserOffline

用于指示用户不可用的图标。

QIcon.ThemeIcon.WeatherClear

用于表示天空晴朗的图标。

QIcon.ThemeIcon.WeatherClearNight

用于指示夜间天空晴朗的图标。

QIcon.ThemeIcon.WeatherFewClouds

用于表示天空部分多云的图标。

QIcon.ThemeIcon.WeatherFewCloudsNight

用于指示夜间天空部分多云的图标。

QIcon.ThemeIcon.WeatherFog

用于指示天气有雾的图标。

QIcon.ThemeIcon.WeatherShowers

用于指示正在下雨的图标。

QIcon.ThemeIcon.WeatherSnow

用于表示正在下雪的图标。

QIcon.ThemeIcon.WeatherStorm

用于指示天气为暴风雨的图标。

另请参阅

QIcon#从主题或图标库创建图标 fromTheme()

在版本6.7中添加。

__init__()

构造一个空图标。

__init__(engine)
Parameters:

引擎QIconEngine

创建一个具有特定图标engine的图标。该图标将拥有该引擎的所有权。

__init__(other)
Parameters:

其他QIcon

构造other的副本。这非常快。

__init__(pixmap)
Parameters:

pixmapQPixmap

pixmap构造一个图标。

__init__(fileName)
Parameters:

fileName – str

从具有给定fileName的文件中构造一个图标。文件将按需加载。

如果 fileName 包含相对路径(例如仅文件名),则必须在运行时工作目录的相对位置找到相关文件。

文件名可以引用磁盘上的实际文件或应用程序的嵌入式资源之一。有关如何在应用程序的可执行文件中嵌入图像和其他资源文件的详细信息,请参阅资源系统概述。

使用 supportedImageFormats()supportedImageFormats() 函数来检索支持的文件格式的完整列表。

actualSize(size[, mode=QIcon.Mode.Normal[, state=QIcon.State.Off]])
Parameters:
Return type:

QSize

返回请求的sizemodestate的图标的实际大小。结果可能比请求的小,但绝不会更大。返回的大小以设备无关的像素为单位(这与高DPI位图相关)。

另请参阅

pixmap() paint()

actualSize(window, size[, mode=QIcon.Mode.Normal[, state=QIcon.State.Off]])
Parameters:
Return type:

QSize

注意

此函数已弃用。

请使用actualSize(大小)代替。

返回请求的window sizemodestate的图标实际大小。

位图可以小于请求的大小。返回的大小是以设备无关的像素为单位(这对于高DPI位图是相关的)。

addFile(fileName[, size=QSize()[, mode=QIcon.Mode.Normal[, state=QIcon.State.Off]]])
Parameters:

从具有给定fileName的文件中添加图像到图标,作为sizemodestate的专门化。文件将按需加载。注意:自定义图标引擎可以自由忽略额外添加的像素图。

如果 fileName 包含相对路径(例如仅文件名),则必须在运行时工作目录的相对位置找到相关文件。

文件名可以引用磁盘上的实际文件或应用程序的嵌入式资源之一。有关如何在应用程序的可执行文件中嵌入图像和其他资源文件的详细信息,请参阅资源系统概述。

使用 supportedImageFormats()supportedImageFormats() 函数来检索支持的文件格式的完整列表。

如果存在高分辨率版本的图像(通过基本名称上的后缀@2x标识),它会自动加载并添加,设备像素比设置为2。可以通过设置环境变量QT_HIGHDPI_DISABLE_2X_IMAGE_LOADING来禁用此功能(参见QImageReader)。

注意

当你向QIcon添加一个非空文件名时,图标将变为非空,即使文件不存在或指向损坏的文件。

另请参阅

addPixmap() devicePixelRatio()

addPixmap(path)
Parameters:

路径PyPathLike

addPixmap(pixmap[, mode=QIcon.Mode.Normal[, state=QIcon.State.Off]])
Parameters:

pixmap添加到图标中,作为modestate的特化。

自定义图标引擎可以自由忽略额外添加的像素图。

另请参阅

addFile()

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

QSize的列表

返回指定modestate的可用图标大小列表。

cacheKey()
Return type:

整数

返回一个标识此QIcon对象内容的数字。如果不同的QIcon对象引用相同的内容,它们可以具有相同的键。

当图标通过addPixmap()addFile()更改时,cacheKey()将会改变。

缓存键主要在与缓存结合使用时非常有用。

另请参阅

cacheKey()

static fallbackSearchPaths()
Return type:

字符串列表

返回图标的备用搜索路径。

如果current icon themefallback icon theme在图标查找中没有提供结果,则会查询备用搜索路径以查找独立的图标文件。

如果未设置,回退搜索路径将由平台定义。

static fallbackThemeName()
Return type:

字符串

返回备用图标主题的名称。

如果未设置,备用图标主题将由平台定义。

注意

平台备用图标主题目前仅在基于Freedesktop的系统上实现,图标主题取决于您的桌面设置。

static fromTheme(icon)
Parameters:

图标ThemeIcon

Return type:

QIcon

static fromTheme(name)
Parameters:

name – str

Return type:

QIcon

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

返回与current icon theme中的name对应的QIcon

如果当前主题没有为name提供图标,则会先查询fallback icon theme,然后再回退到在fallback icon search path中查找独立的图标文件。最后,会查询平台的本地图标库。

从当前图标主题中获取图标:

undoicon = QIcon.fromTheme(QIcon.ThemeIcon.EditUndo)

如果未通过setThemeName()明确设置icon theme,则将使用平台定义的图标主题。

static fromTheme(icon, fallback)
Parameters:
Return type:

QIcon

static fromTheme(name, fallback)
Parameters:
  • name – str

  • fallbackQIcon

Return type:

QIcon

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

这是一个重载函数。

返回与current icon theme中的name对应的QIcon

如果当前主题没有为name提供图标,则会先查询fallback icon theme,然后再回退到在fallback icon search path中查找独立的图标文件。最后,会查询平台的本地图标库。

如果没有找到图标,则返回fallback

这对于提供一个有保证的回退非常有用,无论当前的图标主题和回退路径是否支持请求的图标。

例如:

undoicon = QIcon.fromTheme(QIcon.ThemeIcon.EditUndo, QIcon(":/undo.png"))
static hasThemeIcon(icon)
Parameters:

图标ThemeIcon

Return type:

布尔

这是一个重载函数。

如果当前图标主题或其任何后备主题中有可用于icon的图标,则返回true,如fromTheme()所述,否则返回false

另请参阅

fromTheme()

static hasThemeIcon(name)
Parameters:

name – str

Return type:

布尔

如果当前图标主题或其任何后备主题中有可用于name的图标,则返回true,如fromTheme()所述,否则返回false

isMask()
Return type:

布尔

如果此图标已被标记为遮罩图像,则返回true。某些平台会以不同方式渲染遮罩图标(例如,macOS上的菜单图标)。

另请参阅

setIsMask()

isNull()
Return type:

布尔

如果图标为空,则返回true;否则返回false

如果一个图标既没有像素图也没有文件名,那么它就是空的。

注意:即使是一个非空的图标也可能无法创建有效的像素图,例如,如果文件不存在或无法读取。

name()
Return type:

字符串

返回用于创建图标的名称(如果可用)。

根据图标创建的方式,它可能有一个相关的名称。对于使用fromTheme()创建的图标,情况就是如此。

另请参阅

fromTheme() iconName()

paint(painter, rect[, alignment=Qt.AlignCenter[, mode=QIcon.Mode.Normal[, state=QIcon.State.Off]]])
Parameters:

使用painter将图标绘制到矩形rect中,具有指定的alignment、所需的modestate

另请参阅

actualSize() pixmap()

paint(painter, x, y, w, h[, alignment=Qt.AlignCenter[, mode=QIcon.Mode.Normal[, state=QIcon.State.Off]]])
Parameters:

这是一个重载函数。

将图标绘制到矩形 QRect(x, y, w, h) 中。

pixmap(size[, mode=QIcon.Mode.Normal[, state=QIcon.State.Off]])
Parameters:
Return type:

QPixmap

返回一个具有请求的sizemodestate的pixmap,如果需要则生成一个。pixmap可能比请求的小,但绝不会更大,除非返回的pixmap的设备像素比大于1。

另请参阅

actualSize() paint()

pixmap(extent[, mode=QIcon.Mode.Normal[, state=QIcon.State.Off]])
Parameters:
Return type:

QPixmap

这是一个重载函数。

返回一个大小为QSize(extent, extent)的像素图。像素图可能比请求的小,但绝不会更大,除非返回的像素图的设备像素比大于1。

pixmap(window, size[, mode=QIcon.Mode.Normal[, state=QIcon.State.Off]])
Parameters:
Return type:

QPixmap

注意

此函数已弃用。

请使用 pixmap(size, devicePixelRatio) 代替。

返回一个具有请求的window sizemodestate的pixmap,如果需要则生成一个。

pixmap 可以小于请求的大小。如果 window 在高分辨率显示器上,pixmap 可能会更大。在这种情况下,它将具有大于 1 的 devicePixelRatio。

另请参阅

actualSize() paint()

pixmap(size, devicePixelRatio[, mode=QIcon.Mode.Normal[, state=QIcon.State.Off]])
Parameters:
Return type:

QPixmap

这是一个重载函数。

返回一个具有请求的sizedevicePixelRatiomodestate的pixmap,如果需要,会使用给定的modestate生成一个。pixmap可能比请求的小,但绝不会更大,除非返回的pixmap的设备像素比大于1。

注意

在 Qt 6.8 之前,此函数错误地将设备相关的像素图大小传递给 scaledPixmap(),自 Qt 6.8 起,它传递的是设备无关的大小(未使用 devicePixelRatio 进行缩放)。

另请参阅

actualSize() paint()

pixmap(w, h[, mode=QIcon.Mode.Normal[, state=QIcon.State.Off]])
Parameters:
  • w – 整数

  • h – 整数

  • mode模式

  • stateState

Return type:

QPixmap

这是一个重载函数。

返回一个大小为QSize(w, h)的像素图。像素图可能比请求的小,但绝不会更大,除非返回的像素图的设备像素比大于1。

static setFallbackSearchPaths(paths)
Parameters:

paths – 字符串列表

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

设置图标的备用搜索路径为 paths

如果current icon themefallback icon theme在图标查找中没有提供结果,则会查询备用搜索路径以查找独立的图标文件。

例如:

QIcon.setFallbackSearchPaths(QIcon.fallbackSearchPaths() << "my/search/path")
static setFallbackThemeName(name)
Parameters:

name – str

设置备用图标主题为 name

回退图标主题用于查询未由当前 图标 主题提供的图标,或者如果当前 图标 主题不存在。

name 应与主题相对应,格式与 setThemeName() 文档中记录的格式相同,并且将在 themeSearchPaths() 中查找。

注意

回退图标主题应在创建 QGuiApplication 之前设置,以确保正确初始化。

setIsMask(isMask)
Parameters:

isMask – 布尔值

指示此图标是一个遮罩图像(布尔值 isMask),因此可以根据其显示位置进行修改。

另请参阅

isMask()

static setThemeName(path)
Parameters:

路径 – 字符串

将当前图标主题设置为 name

主题将在themeSearchPaths()中查找。

目前唯一支持的图标主题格式是Freedesktop图标主题规范name应该对应于themeSearchPath()中的一个目录名称,该目录包含一个描述其内容的index.theme文件。

static setThemeSearchPaths(searchpath)
Parameters:

searchpath – 字符串列表

设置图标主题的搜索路径为 paths

paths 的内容应遵循由 setThemeName() 记录的主题格式。

swap(other)
Parameters:

其他QIcon

将此图标与other图标交换。此操作非常快速且永远不会失败。

static themeName()
Return type:

字符串

返回当前图标主题的名称。

如果未设置,当前图标主题将由平台定义。

注意

平台图标主题目前仅在基于Freedesktop的系统上实现,图标主题取决于您的桌面设置。

static themeSearchPaths()
Return type:

字符串列表

返回图标主题的搜索路径。

默认的搜索路径将由平台定义。所有平台还将资源目录:\icons作为备用。