ObjectModel QML类型

定义了一组用于作为模型的项目。 更多...

导入语句import QtQml.Models

属性

附加属性

方法

详细描述

ObjectModel包含了在视图中使用的视觉项。当ObjectModel在视图中使用时,视图不需要代理,因为ObjectModel已经包含了视觉代理(项目)。

项目可以通过index附加属性来确定其在模型中的索引。

以下示例将三个彩色矩形放置在ListView中。

import QtQuick 2.0
import QtQml.Models 2.1

Rectangle {
    ObjectModel {
        id: itemModel
        Rectangle { height: 30; width: 80; color: "red" }
        Rectangle { height: 30; width: 80; color: "green" }
        Rectangle { height: 30; width: 80; color: "blue" }
    }

    ListView {
        anchors.fill: parent
        model: itemModel
    }
}

另请参阅Qt Quick Examples - Views

属性文档

count : int [只读]

模型中项目的数量。此属性是只读的。


附加属性文档

ObjectModel.index : int

此附加属性持有此代理的项目在模型中的索引。

它附加到代理的每个实例。


方法文档

append(object item)

将一个新项目item添加到模型末尾。

objectModel.append(objectComponent.createObject())

另请参阅insert() 和 remove).


clear()

清除模型中的所有项目。

另请参阅append() 和 remove).


object get(int index)

从模型中返回索引为index的项目。这允许从JavaScript访问或修改项目

Component.onCompleted: {
    objectModel.append(objectComponent.createObject())
    console.log(objectModel.get(0).objectName);
    objectModel.get(0).objectName = "first";
}

index 必须是列表中的元素。

另请参阅 append()。


insertint index, object item

在模型中的位置 index 插入一个新的 item

objectModel.insert(2, objectComponent.createObject())

索引 index 必须指向列表中的现有项目,或者是列表末尾之后的一个(等价于 append)。

另请参阅append() 和 remove).


moveint from, int to, int n = 1)

n 个项目从位置 from 移动到位置 to

from 和 to 的范围必须存在;例如,将前 3 个项目移至模型末尾

objectModel.move(0, objectModel.count - 3, 3)

另请参阅 append()。


removeint index, int n = 1)

从模型中移除位置 indexn 个项目。

另请参阅 clear()。


© 2024 Qt 公司有限公司。本文件中的文档贡献属于各自的版权所有者。本文件提供的文档受自由软件基金会发布的 GNU 自由文献许可证版本 1.3 条款的约束。Qt 和相关标志是芬兰和/或其他国家的 Qt 公司的商标。所有其他商标均为其各自所有者的财产。