ApplicationModel QML 类型
ApplicationManager 单例的代理模型。 更多...
导入语句 | import QtApplicationManager.SystemUI 2.0 |
属性
- count : int
- filterFunction : var
- sortFunction : var
方法
- int indexOfApplication(ApplicationObject application)
- int readOnly(string id)
- int mapFromSource(int index)
- int mapToSource(int index)
详细描述
ApplicationModel 类型提供了一个可定制的模型,可以用来根据您的需求定制 ApplicationManager 模型。 ApplicationManager 单例本身就是模型,它包括了所有可用的应用程序。相比之下,ApplicationModel 支持过滤和排序。
由于 ApplicationModel 基于基于 ApplicationManager 模型,因此后者被称为 源 模型。ApplicationModel 包含与 ApplicationManager 模型相同的 作用域。
注意:如果您需要一个没有任何过滤功能的包含所有应用程序的模型,您应该直接使用 ApplicationManager,因为它的性能更好。
以下代码片段显示了一个列表,其中包含非模糊应用程序的图标
import QtQuick 2.6 import QtApplicationManager.SystemUI 2.0 ListView { model: ApplicationModel { filterFunction: function(application) { return !application.alias; } } delegate: Image { source: icon } }
属性文档
[只读] count : int |
包含在此模型中应用程序的数量。
filterFunction : var |
一个 JavaScript 函数回调,在调用 ApplicationManager 源模型中的每个应用程序时调用。此函数接收一个 ApplicationObject 参数,并必须返回一个布尔值。如果通过的应用程序应该包含在此模型中,则该函数必须返回 true
;否则返回 false
。
如果您根本不需要过滤,应该将此属性设置为 undefined(默认值)或 null。
注意:每次更改此函数时,都会重新评估过滤条件。但是,当此函数中使用的动态属性,如 isRunning
发生变化时,不会触发重新评估。源模型中的变化会得到反映。由于模型类型是派生自 QSortFilterProxyModel 的,因此可以使用 invalidate() 接口强制重新评估。
sortFunction : var |
一个JavaScript函数回调,用于对模型中的应用程序进行排序。此函数接收两个ApplicationObject参数并必须返回一个布尔值。如果第一个应用程序应该在此模型中具有比第二个更小的索引,则函数必须返回true
;否则返回false
。
如果不需要任何排序,则应将此属性设置为未定义(默认值)或null值。
注意:每当此函数更改时,模型都会进行排序。然而,此函数中使用的动态属性,如isRunning
,在那些属性更改时不会触发排序。源模型的变化将体现出来。由于类型派生自QSortFilterProxyModel,可以使用invalidate()槽位强制进行排序。
方法说明
int indexOfApplication(ApplicationObject application) |
将application映射到此模型中的位置。如果指定应用程序无效或不是此模型的一部分,则返回-1
。
int indexOfApplication(ApplicationObject application) |
将给定id的应用程序映射到此模型中的位置。如果指定应用程序无效或不是此模型的一部分,则返回-1
。
将模型中应用程序的索引映射到ApplicationManager模型的相应索引。如果指定的索引无效,则返回-1
。
©2019 Luxoft Sweden AB。此处包含的文档贡献的版权属于其各自的所有者。此处提供的文档符合自由软件基金会发布的GNU自由文档许可版本1.3的条款。Qt和相关标志是芬兰以及/或世界其他地区的Qt公司有限责任公司的商标。所有其他商标均为其各自所有者的财产。