IntentModel QML 类型

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

导入语句import QtApplicationManager.SystemUI 2.0

属性

方法

详细说明

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

由于 IntentModel 基于IntentServer 模型,后者被称为 模型。IntentModel 包含与 IntentServer 模型相同的 角色

注意:如果您需要一个包含所有意图且完全无过滤的模型,应直接使用《IntentServer》,因为它的性能更好。

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

import QtQuick 2.6
import QtApplicationManager.SystemUI 2.0

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

    delegate: Image {
        source: icon
    }
}

属性文档

[只读] count : int

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


filterFunction : var

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

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

注意:每当此函数更改时,都会重新评估筛选器。源模型中的更改将得到反映。由于类型是从 QSortFilterProxyModel 继承的,因此可以使用 invalidate() 插槽来强制重新评估。


sortFunction : var

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

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

注意:每次修改此函数时,模型都会进行排序。源模型中的更改会被反映出来。由于类型来自QSortFilterProxyModel,可以使用invalidate()槽来强制排序。


方法文档

int indexOfIntent(IntentObject intent)

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


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

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


int mapFromSource(int index)

将来自IntentServer模型的intenet的index映射到本模型中对应的索引。如果指定的index无效,则返回-1


int mapToSource(int index)

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


©2019 Swedish Luxoft AB. 本文档中的文档贡献归各自的版权所有者所有。此处提供的文档是在自由软件基金会发布的相关条款下许可的GNU自由文档许可证版本1.3。Qt及其相关标志是芬兰及其它国家The Qt Company Ltd的商标。所有其他商标归各自所有者所有。