このページでは

C

ListModel QML Type

自由形式のリスト・データ・ソースを定義します。詳細...

Import Statement: import QtQuick
In C++: ListModel

プロパティ

方法

  • var data(int index)
  • var get(int index)

詳細な説明

ListModel はListElement 定義のシンプルなコンテナであり、それぞれがデータの役割を含んでいる。内容はQMLで宣言的に定義することができます。

Qul::ListModel として、モデル内の要素数はcount プロパティから取得することができ、データはdata またはget でアクセスすることができます。

Qt Quick とは逆に、Qt Quick UltraliteではListModelsは読み取り専用です。要素の追加、削除、変更のための関数はありません。Qt Quick Ultraliteのモデルの違いを参照してください。

使用例

以下の例では、"name" と "cost" というロールを持つ、3 つの要素を含む ListModel を示しています。

ListModel {
    id: fruitModel

    ListElement {
        name: "Apple"
        cost: "2.45"
    }
    ListElement {
        name: "Orange"
        cost: "3.25"
    }
    ListElement {
        name: "Banana"
        cost: "1.95"
    }
}

各要素のロール(プロパティ)は、小文字で始まり、モデル内の全ての要素に共通でなければなりません。要素の定義方法については、ListElement のドキュメントに詳細なガイドラインが記載されています。

サンプル・モデルにはid プロパティーが含まれており、この例のListView のようなビューから参照することができます:

import QtQuick 2.15

Rectangle {
    width: 200; height: 200

    ListModel {
        id: fruitModel
        ...
    }

    Component {
        id: fruitDelegate
        Row {
            width: view.width / fruitModel.count
            height: view.height / fruitModel.count
            spacing: 10
            Text { text: model.name }
            Text { text: '$' + model.cost }
        }
    }

    ListView {
        id: view
        anchors.fill: parent
        model: fruitModel
        delegate: fruitDelegate
    }
}

ListElement およびQt Quick モデルの Ultralite の違いも参照してください

プロパティー ドキュメント

count : int

モデル内のデータエントリーの数。


メソッド・ドキュメント

var data(int index)

index でモデルデータにアクセスします。


var get(int index)

モデル・データへのアクセスindex


特定の Qt ライセンスの下で利用可能です。
詳細はこちら。