class QSystemTrayIcon#

QSystemTrayIcon 类提供系统托盘中的应用图标。 更多...

Inheritance diagram of PySide6.QtWidgets.QSystemTrayIcon

概要#

属性#

方法#

#

信号#

静态函数#

注意

本文档可能包含自动从C++转换为Python的代码段。我们始终欢迎对代码段翻译的贡献。如果您对翻译有疑问,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 创建工单的方式来告诉我们。

详细描述#

现代操作系统通常在桌面上提供一块特殊区域,称为“系统托盘”或“通知区域”,那里可长时间运行的程序可以显示图标和简短的消息。

../../_images/system-tray.webp

以下平台可以使用QSystemTrayIcon类:

要检查用户的桌面上是否存在系统托盘,请调用静态函数isSystemTrayAvailable()

要添加系统托盘条目,请创建一个 QSystemTrayIcon 对象,调用 setContextMenu() 为图标提供上下文菜单,并调用 show() 使其在系统托盘内可见。可以使用 showMessage() 在任何时间显示状态通知消息(“气球消息”)。

如果构造系统托盘图标时系统托盘不可用,但在后来变为可用,当图标设置为可见时,QSystemTrayIcon 将自动在系统托盘为应用程序添加一个条目。

当用户激活图标时,会发出 activated() 信号。

仅在 X11 上,当请求工具提示时,QSystemTrayIcon 将接收一个类型的 QHelpEvent::ToolTip 的 QHelpEvent。此外,QSystemTrayIcon 还会接收类型的 QEvent::Wheel 的滚动事件。这些在任何一个其他平台上都不受支持。注意:自 GNOME Shell 版本 3.26 以来,并非所有 ActivationReason 都被系统支持,除非安装了 shell 扩展。

另请参阅

系统托盘图标示例

class ActivationReason#

此枚举描述了系统托盘被激活的原因。

常量

描述

QSystemTrayIcon.Unknown

未知原因

QSystemTrayIcon.Context

请求系统托盘条目的上下文菜单

QSystemTrayIcon.DoubleClick

系统托盘条目被双击

注意

在 macOS 上,如果未设置任何上下文菜单,双击将被发出,因为菜单在鼠标按下时打开

常量

描述

QSystemTrayIcon.Trigger

系统托盘条目被单击

QSystemTrayIcon.MiddleClick

系统托盘条目用鼠标中键单击

另请参阅

activated()

class MessageIcon#

此枚举描述了显示气球消息时显示的图标。

常量

描述

QSystemTrayIcon.NoIcon

不显示任何图标

QSystemTrayIcon.Information

显示信息图标

QSystemTrayIcon.Warning

显示标准警告图标

QSystemTrayIcon.Critical

显示严重警告图标

另请参阅

QMessageBox

注意

当使用 from __feature__ import true_property 时,可以直接使用属性,否则通过访问器函数使用。

属性 图标: QIcon#

此属性存储系统托盘图标。

在Windows上,系统托盘图标大小为16x16;在X11上,推荐大小为22x22。必要时,图标将缩放到适当大小。

访问函数
属性 toolTip: str#

此属性存储系统托盘条目的工具提示。

在某些系统上,工具提示长度有限。如果需要,工具提示将被截断。

访问函数
属性 visible: bool#

此属性存储系统托盘条目是否可见。

将此属性设置为true或调用show()将使系统托盘图标可见;将此属性设置为false或调用hide()则使其不可见。

访问函数
__init__(icon[, parent=None])#
参数:

使用给定的iconparent构建一个QSystemTrayIcon对象。

图标初始时不可见。

另请参阅

visible

__init__([parent=None])
参数:

parentQObject

使用给定的parent构建一个QSystemTrayIcon对象。

图标初始时不可见。

另请参阅

visible

activated(reason)#
参数:

reasonActivationReason

当用户激活系统托盘图标时,会发出此信号。reason 指定激活的原因。 ActivationReason 枚举了各种原因。

另请参阅

ActivationReason

contextMenu()#
返回类型:

QMenu

返回系统托盘条目的当前上下文菜单。

另请参阅

setContextMenu()

geometry()#
返回类型:

QRect

返回系统托盘图标在屏幕坐标中的几何形状。

另请参阅

visible

hide()#

隐藏系统托盘条目。

另请参阅

show() visible

icon()#
返回类型:

QIcon

另请参阅

setIcon()

属性 iconᅟ 的获取器。

静态isSystemTrayAvailable()#
返回类型:

bool

如果系统托盘可用,则返回 true;否则返回 false

如果系统托盘当前不可用但稍后变可用,则当它可见时,QSystemTrayIcon 会自动在系统托盘中添加一个条目。

isVisible()#
返回类型:

bool

属性 visibleᅟ 的获取器。

messageClicked()#

当使用 showMessage() 显示的消息被用户点击时,会发出此信号。

注意

我们遵循 Microsoft Windows 行为,因此当用户点击显示气球消息的托盘图标时,也会发出该信号。

另请参阅

activated()

setContextMenu(menu)#
参数:

menuQMenu

将指定的 menu 设置为系统托盘图标的上下文菜单。

当用户通过点击鼠标按钮请求系统托盘图标的上下文菜单时,菜单将会弹出。

注意

系统托盘图标不拥有菜单。您必须确保在适当的时间将其删除,例如,通过创建具有合适父对象来创建菜单。

另请参阅

contextMenu()

setIcon(icon)#
参数:

iconQIcon

另请参阅

icon()

属性 iconᅟ 的设置器。

setToolTip(tip)#
参数:

tip – str

另请参阅

toolTip()

属性 toolTipᅟ 的设置器。

setVisible(visible)#
参数:

visible – bool

另请参阅

isVisible()

属性 visibleᅟ 的设置器。

show()#

将在系统托盘显示图标。

另请参阅

hide() visible

showMessage(title, msg[, icon=QSystemTrayIcon.Information[, msecs=10000]])#
参数:
  • title – str

  • msg – str

  • iconMessageIcon

  • msecs – int

显示包含指定 titlemessageicon 的弹出消息,时间由 millisecondsTimeoutHint 指定。 titlemessage 必须是纯文本字符串。

用户可以点击消息;当发生这种情况时,将会发射 messageClicked() 信号。

请注意,消息的显示依赖于系统配置和用户偏好设置,并且消息可能根本不会出现。因此,不应将其作为提供关键信息的唯一手段。

在Windows系统中,当应用程序具有焦点时,系统通常会忽略millisecondsTimeoutHint参数。

已转换为槽函数,自Qt 5.2版本起。

另请参阅

show() supportsMessages()

showMessage(title, msg, icon[, msecs=10000])
参数:
  • title – str

  • msg – str

  • iconQIcon

  • msecs – int

此函数覆盖了showMessage()

显示一个带气泡的消息,消息标题为给定的title,消息内容为msg,并使用自定义图标icon,持续时间由millisecondsTimeoutHint参数指定。

staticsupportsMessages()#
返回类型:

bool

如果系统托盘支持气泡消息则返回true;否则返回false

另请参阅

showMessage()

toolTip()#
返回类型:

字符串

另请参阅

setToolTip()

属性toolTip的获取器。