通知管理器 QML 类型

处理 freedesktop.org 相符的通知请求的通知模型。 更多信息...

导入语句import QtApplicationManager.SystemUI 2.0

属性

方法

详细说明

NotificationManager 单例类型仅提供 QML API。

此类型继承自 QAbstractListModel,可以直接用作通知视图中的模型。

此模型中的每个项都对应一个活动通知。

此模型中可用的以下角色 -同时也请参阅 freedesktop.org 规范,以深入了解这些字段以及客户端如何填充它们

角色名称类型描述
idint此通知的唯一 id。
applicationIdstring创建此通知的应用程序的 id。这可以用于在 ApplicationManager 模型中查找有关应用程序的信息。

注意: applicationId 角色在此模型中不唯一,也不保证有效。单一应用程序可以具有多个活动通知,另一方面,系统通知根本没有应用程序上下文。

priorityint参见 Notification::priority 的客户端文档
summarystring参见 Notification::summary 的客户端文档
bodystring参见 Notification::body 的客户端文档
categorystring参见 Notification::category 的客户端文档
iconurl参见Notification::icon的客户端文档
图像url参见Notification::image的客户端文档
操作对象参见Notification::actions的客户端文档
将操作显示为图标布尔值参见Notification::showActionsAsIcons的客户端文档
收到操作后消失布尔值参见Notification::dismissOnAction的客户端文档
可认可布尔值参见Notification::acknowledgeable的客户端文档。为了向后兼容,isClickable也可以用来引用此功能。
是系统通知url对于不是来自应用程序而是来自系统服务的通知,此属性保持true。对于来自UI应用程序的通知,始终保持false
正在显示进度布尔值参见Notification::showProgress的客户端文档
进度qreal参见Notification::progress的客户端文档
是粘性的布尔值参见Notification::sticky的客户端文档
超时int参见Notification::timeout的客户端文档
扩展对象参见Notification::extended的客户端文档

实际的后端实现完全符合freedesktop.org specifications中关于通知的D-Bus接口。

为了测试目的,可以使用来自libnotify包的notify-send工具来创建通知。

属性文档

count : int [只读]

此属性保留模型中活动通知的数量。


方法文档

acknowledgeNotification(int id)

当用户认可通过id标识的通知(最有可能通过点击它)时,系统UI需要调用此函数。


dismissNotification(int id)

当系统UI需要删除标识为id的通知时,需要调用此函数。

通知的创建者将被告知此删除。


object get(int index)

以JavaScript对象的形式检索位于index的模型数据。请参阅role names,了解预期的对象字段。

如果指定的index无效,则返回空对象。


int indexOfNotification(int id)

将通知id映射到它在模型中的位置。

如果指定的id无效,则返回-1


object notification(int id)

以JavaScript对象的形式检索由id标识的通知的模型数据。请参阅role names,了解预期的对象字段。

如果指定的id无效,则返回空对象。


触发通知操作(int id, string actionId)

此函数需要在用户触发通知操作时由系统界面调用。除非通知被设置为常驻(dismissOnActionfalse),否则通知也会被关闭。

通知通过 id 进行标识,操作通过 actionId 进行标识。

注意:应仅使用为特定通知设置的 action-ids(请参阅 actions 角色)。然而,应用程序管理器将接受并转发任何任意字符串。请注意,在多进程模式下运行时,此字符串将在会话 D-Bus 上广播。

另请参见dismissNotification()。


© 2024 Qt 公司有限公司。本文件中包含的文档贡献是各自所有者的版权。所提供的文档是根据由自由软件基金会发布的GNU自由文档许可证版本1.3的条款许可的。Qt 和相应的商标是世界各地的芬兰和/或其他国家的 Qt 公司有限公司的商标。所有其他商标均为各自所有者的财产。