应用程序模型 QML 类型
ApplicationManager 单例的代理模型。 更多信息...
导入语句 | import QtApplicationManager.SystemUI 2.0 |
属性
- count : int
- filterFunction : var
- sortFunction : var
方法
- int indexOfApplication(ApplicationObject application)
- int indexOfApplication(string id)
- invalidate()
- int mapFromSource(int index)
- int mapToSource(int index)
详细描述
ApplicationModel 类型提供了一种可定制的模型,可用于根据您的需求定制ApplicationManager 模型。ApplicationManager 单例本身就是一个模型,它包括所有可用的应用程序。相比之下,ApplicationModel 支持过滤和排序。
由于ApplicationModel 是基于ApplicationManager 模型的,因此后者被称为源模型。ApplicationModel 包含与应用Manager 模型相同的roles。
注意:如果您需要包含所有应用程序、不进行任何过滤的模型,您应直接使用ApplicationManager,因为它的性能更好。
以下代码片段展示了在一个列表中显示所有非 aliased 应用程序的图标
import QtQuick import QtApplicationManager.SystemUI ListView { model: ApplicationModel { filterFunction: function(application) { return !application.alias; } } delegate: Image { required property string icon source: icon } }
属性文档
count : int |
包含在此模型中的应用程序数量。
filterFunction : var |
一个 JavaScript 函数回调,为 ApplicationManager 源模型中的每个应用程序调用。此函数接收一个 ApplicationObject 参数并必须返回一个布尔值。如果通过的应用程序应包含在此模型中,则该函数必须返回 true
;否则返回 false
。
如果您完全不需要过滤,应将此属性设置为未定义(默认值)或空值。
注意:每次修改此函数时,都会重新评估筛选器。但是,在此函数中使用的动态属性,如 isRunning
,在属性变化时不会触发重新评估。源模型中的变化将反映出来。要强制完全重新评估,请调用 invalidate 方法。
sortFunction : var |
一个JavaScript函数回调,用于对模型中的应用程序进行排序。此函数接收两个 ApplicationObject 参数,并必须返回一个布尔值。如果第一个应用程序在此模型中的索引应小于第二个,则函数必须返回 true
;否则返回 false
。
如果您完全不进行排序,应将此属性设置为未定义(默认)或空值。
注意:每次修改此函数时,模型都会进行排序。但是,在此函数中使用的动态属性,如 isRunning
,在属性变化时不会触发排序。源模型中的变化将反映出来。要强制完全重新评估,请调用 invalidate 方法。
方法文档
int indexOfApplication(ApplicationObject application) |
将 application 映射到在此模型中的位置。如果在模型中指定的应用程序无效,或不是模型的一部分,则返回 -1
。
invalidate() |
强制重新评估模型。
将应用程序的 index 从 ApplicationManager 模型映射到在此模型中的相应索引。如果指定的 index 无效,则返回 -1
。
将此模型中的应用程序的 index 映射到 ApplicationManager 模型中的相应索引。如果指定的 index 无效,则返回 -1
。
© 2024 Qt公司 Ltd. 本文档中的文档贡献是各自所有者的版权。本提供在这里的文档是在自由软件基金会发布的 GNU自由文档许可证版本 1.3 条款下许可的。Qt及其相关标志是芬兰和/或世界上其他国家的 Qt公司 Ltd. 的商标。所有其他商标均为各自所有者的财产。