- class QSystemTrayIcon#
QSystemTrayIcon
类提供系统托盘中的应用图标。 更多...概要#
属性#
方法#
def
__init__()
def
contextMenu()
def
geometry()
def
icon()
def
isVisible()
def
setContextMenu()
def
setIcon()
def
setToolTip()
定义
toolTip()
槽#
定义
hide()
定义
setVisible()
定义
show()
信号#
定义
activated()
静态函数#
注意
本文档可能包含自动从C++转换为Python的代码段。我们始终欢迎对代码段翻译的贡献。如果您对翻译有疑问,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 创建工单的方式来告诉我们。
详细描述#
现代操作系统通常在桌面上提供一块特殊区域,称为“系统托盘”或“通知区域”,那里可长时间运行的程序可以显示图标和简短的消息。
以下平台可以使用
QSystemTrayIcon
类:所有受支持的Windows版本。
所有实现D-BusStatusNotifierItem规范的Linux桌面环境,包括KDE、Gnome、Xfce、LXQt和DDE。
所有实现freedesktop.org XEmbed系统托盘规范的X11窗口管理器和独立的托盘实现。
所有受支持的macOS版本。
要检查用户的桌面上是否存在系统托盘,请调用静态函数
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
系统托盘条目用鼠标中键单击
另请参阅
- class MessageIcon#
此枚举描述了显示气球消息时显示的图标。
常量
描述
QSystemTrayIcon.NoIcon
不显示任何图标
QSystemTrayIcon.Information
显示信息图标
QSystemTrayIcon.Warning
显示标准警告图标
QSystemTrayIcon.Critical
显示严重警告图标
另请参阅
注意
当使用
from __feature__ import true_property
时,可以直接使用属性,否则通过访问器函数使用。此属性存储系统托盘图标。
在Windows上,系统托盘图标大小为16x16;在X11上,推荐大小为22x22。必要时,图标将缩放到适当大小。
- 属性 toolTip: str#
此属性存储系统托盘条目的工具提示。
在某些系统上,工具提示长度有限。如果需要,工具提示将被截断。
- 访问函数
- 属性 visible: bool#
此属性存储系统托盘条目是否可见。
将此属性设置为true或调用
show()
将使系统托盘图标可见;将此属性设置为false或调用hide()
则使其不可见。- 访问函数
使用给定的
icon
和parent
构建一个QSystemTrayIcon
对象。图标初始时不可见。
另请参阅
visible
- __init__([parent=None])
- 参数:
parent –
QObject
使用给定的
parent
构建一个QSystemTrayIcon
对象。图标初始时不可见。
另请参阅
visible
- activated(reason)#
- 参数:
reason –
ActivationReason
当用户激活系统托盘图标时,会发出此信号。
reason
指定激活的原因。ActivationReason
枚举了各种原因。另请参阅
返回系统托盘条目的当前上下文菜单。
另请参阅
返回系统托盘图标在屏幕坐标中的几何形状。
另请参阅
visible
- hide()#
隐藏系统托盘条目。
另请参阅
show()
visible
属性
iconᅟ
的获取器。- 静态isSystemTrayAvailable()#
- 返回类型:
bool
如果系统托盘可用,则返回
true
;否则返回false
。如果系统托盘当前不可用但稍后变可用,则当它可见时,
QSystemTrayIcon
会自动在系统托盘中添加一个条目。- isVisible()#
- 返回类型:
bool
属性
visibleᅟ
的获取器。- messageClicked()#
当使用
showMessage()
显示的消息被用户点击时,会发出此信号。将指定的
menu
设置为系统托盘图标的上下文菜单。当用户通过点击鼠标按钮请求系统托盘图标的上下文菜单时,菜单将会弹出。
属性
iconᅟ
的设置器。属性
toolTipᅟ
的设置器。- setVisible(visible)#
- 参数:
visible – bool
另请参阅
属性
visibleᅟ
的设置器。- show()#
将在系统托盘显示图标。
另请参阅
hide()
visible
- showMessage(title, msg[, icon=QSystemTrayIcon.Information[, msecs=10000]])#
- 参数:
title – str
msg – str
icon –
MessageIcon
msecs – int
显示包含指定
title
、message
和icon
的弹出消息,时间由millisecondsTimeoutHint
指定。title
和message
必须是纯文本字符串。用户可以点击消息;当发生这种情况时,将会发射
messageClicked()
信号。请注意,消息的显示依赖于系统配置和用户偏好设置,并且消息可能根本不会出现。因此,不应将其作为提供关键信息的唯一手段。
在Windows系统中,当应用程序具有焦点时,系统通常会忽略
millisecondsTimeoutHint
参数。已转换为槽函数,自Qt 5.2版本起。
另请参阅
- showMessage(title, msg, icon[, msecs=10000])
- 参数:
title – str
msg – str
icon –
QIcon
msecs – int
此函数覆盖了
showMessage()
。显示一个带气泡的消息,消息标题为给定的
title
,消息内容为msg
,并使用自定义图标icon
,持续时间由millisecondsTimeoutHint
参数指定。- staticsupportsMessages()#
- 返回类型:
bool
如果系统托盘支持气泡消息则返回
true
;否则返回false
。另请参阅
- toolTip()#
- 返回类型:
字符串
另请参阅
属性
toolTip
的获取器。