IntentModel QML 类型

IntentServer 单例的代理模型。更多...

导入语句import QtApplicationManager.SystemUI 2.0

属性

方法

详细描述

IntentModel 类型提供了一种可定制的模型,可以用来根据您的需求定制 IntentServer 模型。IntentServer 单例本身就是一个模型,它包含所有可用的意图。相比之下,IntentModel 支持过滤和排序。

由于 IntentModel 基于 IntentServer 模型,因此后者的简称是 source 模型。IntentModel 包含与 IntentServer 模型相同的 roles

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

以下代码片段显示了属于 com.pelagicore.test 包的所有意图的图标

import QtQuick
import QtApplicationManager.SystemUI

ListView {
    model: IntentModel {
        filterFunction: function(intent) {
            return intent.packageId == 'com.pelagicore.test'
        }
    }

    delegate: Image {
        required property string icon
        source: icon
    }
}

属性文档

count : int [只读]

此模型中包含的意图数量。


filterFunction : var

一个 JavaScript 函数回调,在 IntentServer 源模型中的每个意图上被调用。此函数接受一个 IntentObject 参数并必须返回一个布尔值。如果传递的意图应包含在此模型中,则函数必须返回 true;否则返回 false

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

注意: 每次更改此函数时,都会重新评估过滤器。源模型的更改将得到反映。要强制完全重新评估,请调用 invalidate()。


sortFunction : var

一个JavaScript函数回调,用于调用此模型中的意图排序。此函数接收两个 IntentObject 参数,并必须返回一个布尔值。如果第一个意图在此模型中的索引应小于第二个意图,则函数必须返回 true;否则返回 false

如果你根本不需要排序,应将此属性设置为未定义的(默认值)或null值。

注意: 每次更改此函数时,模型都会排序。源模型的更改将得到反映。要强制完全重新评估,请调用 invalidate()。


方法文档

int indexOfIntent(IntentObject intent)

intent 映射到在此模型中的位置。如果指定的意图无效或不是此模型的一部分,则返回 -1


int indexOfIntent(string intentId, string applicationId, var parameters)

将给定的 intentIdapplicationIdparameters 对应的意图映射到在此模型中的位置。如果指定的意图无效或不是此模型的一部分,则返回 -1


invalidate()

强制重新评估模型。


int mapFromSource(int index)

将Internet的 indexIntentServer 模型映射到此模型中的对应索引。如果指定的 index 无效,则返回 -1


int mapToSource(int index)

将此模型中意图的 index 映射到 IntentServer 模型中的对应索引。如果指定的 index 无效,则返回 -1


© 2024 Qt公司有限公司。此处包含的文档贡献的版权属于各自的所有者。所提供的文档是根据由自由软件基金会发布的 GNU自由文档许可版本1.3 的条款许可的。Qt及其相应的标志是芬兰以及全球其他地区的 Qt公司有限公司的商标。所有其他商标均为其各自所有者的财产。