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)
- invalidate()
- int mapFromSource(int index)
- int mapToSource(int index)
详细描述
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
。
将给定的 intentId、applicationId 和 parameters 对应的意图映射到在此模型中的位置。如果指定的意图无效或不是此模型的一部分,则返回 -1
。
invalidate() |
强制重新评估模型。
将Internet的 index 从 IntentServer 模型映射到此模型中的对应索引。如果指定的 index 无效,则返回 -1
。
将此模型中意图的 index 映射到 IntentServer 模型中的对应索引。如果指定的 index 无效,则返回 -1
。
© 2024 Qt公司有限公司。此处包含的文档贡献的版权属于各自的所有者。所提供的文档是根据由自由软件基金会发布的 GNU自由文档许可版本1.3 的条款许可的。Qt及其相应的标志是芬兰以及全球其他地区的 Qt公司有限公司的商标。所有其他商标均为其各自所有者的财产。