このページでは

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におけるListModelは読み取り専用です。要素の追加、削除、変更を行う関数は存在しません。モデルの違いについては、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 」のモデルにおける違いについても参照してください

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

count : int

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

メソッドのドキュメント

var data(int index)

モデルデータは、index からアクセスできます。

var get(int index)

モデルデータはindex からアクセスできます。

特定のQtライセンスの下で利用可能です。
詳細はこちらをご覧ください。