ApplicationModel QML 类型

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

导入语句import QtApplicationManager.SystemUI 2.0

属性

方法

详细描述

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



int mapToSource(int index)

将模型中应用程序的索引映射到ApplicationManager模型的相应索引。如果指定的索引无效,则返回-1


©2019 Luxoft Sweden AB。此处包含的文档贡献的版权属于其各自的所有者。此处提供的文档符合自由软件基金会发布的GNU自由文档许可版本1.3的条款。Qt和相关标志是芬兰以及/或世界其他地区的Qt公司有限责任公司的商标。所有其他商标均为其各自所有者的财产。