ObjectModel QML Type

モデルとして使用するアイテムのセットを定義します。詳細...

Import Statement: import QtQml.Models

プロパティ

Attached プロパティ

メソッド

詳細説明

ObjectModel にはビューで使用されるビジュアルアイテムが含まれています。ObjectModel がビューで使用される場合、ObjectModel には既にビジュアルデリゲート(アイテム)が含まれているため、ビューはデリゲートを必要としません。

アイテムは、index attached プロパティにより、モデル内のインデックスを決定することができます。

以下の例では、ListView に 3 つの色の付いた長方形を配置しています。

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 [read-only]

モデル内のアイテムの数。このプロパティは読み取り専用です。


Attached Property ドキュメント

ObjectModel.index : int

この Attached プロパティは、モデル内のこのデリゲートのアイテムのインデックスを保持します。

このプロパティは、デリゲートの各インスタンスにアタッチされます。


メソッドの説明

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()も参照してください


insert(int index, object item)

index の位置に新しいitem をモデルに挿入します。

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

index は、リスト内の既存の項目か、リストの末尾から1つ過ぎた項目でなければなりません(append と同等)。

append() およびremove()も参照


move(int from, int to, int n = 1)

n 項目from をある位置to に移動する。

例えば、最初の3つの項目をモデルの最後に移動させる場合:

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

append()も参照


remove(int index, int n = 1)

indexn 項目をモデルから削除します。

clear()も参照して ください。


このドキュメントに含まれるコントリビューションの著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。