NotificationModel QML 类型

该模型是对 NotificationManager 单例的代理。 更多...

导入语句import QtApplicationManager.SystemUI 2.0

属性

方法

详细说明

NotificationModel 类型提供了一个可自定义的模型,可以用来根据您的需求定制 NotificationManager 模型。 The NotificationManager 单例自身就是一个模型,它包含所有可用的通知。相比之下,NotificationModel 支持过滤和排序。

由于 NotificationModel 基于 NotificationManager 模型,因此后者被称为 模型。NotificationModel 包含与 NotificationManager 模型相同的 roles

注意: 如果您需要一个包含所有通知且没有任何过滤的模型,则应直接使用 NotificationManager,因为它具有更好的性能。

下面的代码片段显示了优先级大于 5 的所有通知摘要列表

import QtQuick
import QtApplicationManager.SystemUI

ListView {
    model: NotificationModel {
        filterFunction: function(notification) {
            return notification.priority > 5;
        }
    }

    Text {
        required property string summary
        text: summary
    }
}

属性文档

count : int [读-only]

包含在此模型中的通知数量。


filterFunction : var

这是一个 JavaScript 函数回调,它为 NotificationManager 源模型中的每个通知调用一次。此函数接受一个 Notification 参数,必须返回一个布尔值。如果一个通知应该包含在此模型中,则该函数必须返回 code translate="no">true; 否则返回 false

如果您根本不需要过滤,应将该属性设置为未定义(默认)或 null 值。

注意:每次修改此函数时,都会重新评估过滤器。源模型中的更改也会反映出来。要强制完全重新评估,请调用invalidate()方法。


sortFunction : var

一个JavaScript函数回调,用于在本模型中对通知进行排序。此函数获取两个通知参数并必须返回一个布尔值。如果第一个通知在本模型中的索引应小于第二个通知,则函数必须返回true;否则返回false

如果不需要任何排序,应将此属性设置为undefined(默认值)或null值。

注意:每次修改此函数时,模型都会进行排序。源模型中的更改也会反映出来。要强制完全重新评估,请调用invalidate()方法。


方法文档

int indexOfNotification(int notificationId)

将对应的notificationId通知映射到该模型中的位置。如果指定的通知无效,或不是此模型的一部分,则返回-1


int indexOfNotification(object notification)

notification映射到该模型中的位置。如果指定的通知无效或不是该模型的一部分,则返回-1


invalidate()

强制重新评估模型。


int mapFromSource(int index)

将通知的indexNotificationManager模型映射到本模型中的对应索引。如果指定的index无效,则返回-1


int mapToSource(int index)

将本模型中的通知的index映射到NotificationManager模型中的对应索引。如果指定的index无效,则返回-1


© 2024 The Qt Company Ltd. 本文档中的贡献权属于各自的所有者。本文档以下载的版本是根据免费软件基金会发布的GNU自由文档许可协议版本1.3许可的。Qt及其标志是全球芬兰及/或世界其他国家的商标。所有其他商标均为其各自所有者的财产。