IntentModel QML 类型
IntentServer 单例的代理模型。更多...
导入语句 | import QtApplicationManager.SystemUI 2.0 |
属性
- count : int
- filterFunction : var
- sortFunction : var
方法
- int indexOfIntent(IntentObject intent)
- int indexOfIntent(string intentId, string applicationId, var parameters)
- int mapFromSource(int index)
- int mapToSource(int index)
详细说明
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
。
将给定的intentId、applicationId和parameters对应的意图映射到模型中的位置。如果指定的意图无效或不是模型的一部分,则返回-1
。
将来自IntentServer模型的intenet的index映射到本模型中对应的索引。如果指定的index无效,则返回-1
。
将本模型中意图的index映射到IntentServer模型中对应的索引。如果指定的index无效,则返回-1
。
©2019 Swedish Luxoft AB. 本文档中的文档贡献归各自的版权所有者所有。此处提供的文档是在自由软件基金会发布的相关条款下许可的GNU自由文档许可证版本1.3。Qt及其相关标志是芬兰及其它国家The Qt Company Ltd的商标。所有其他商标归各自所有者所有。