このページでは

ListElement QML Type

ListModel 内のデータ項目を定義します。詳細...

Import Statement: import QtQml.Models

詳細説明

リスト要素はListModel 定義内で定義され、ListView またはRepeater アイテムを使用して表示されるリスト内の項目を表します。

リスト要素は、プロパティの代わりに一連のロール定義を含む点を除き、他の QML 要素と同様に定義されます。プロパティ定義と同じ構文を使用し、ロールはデータへのアクセス方法を定義するとともに、データ自体も含みます。

ロールに使用される名前は小文字で始まり、特定のモデル内のすべての要素で共通である必要があります。 値は単純な定数でなければなりません。具体的には、文字列(引用符で囲まれ、必要に応じてQT_TR_NOOP()の呼び出し内に記述されるもの)、ブール値(true、false)、数値、または列挙値(AlignText.AlignHCenterなど)です。

Qt 5.11 以降では、ListElement に対して関数宣言をロールとして割り当てることも可能になりました。これにより、呼び出し可能なアクションを持つ ListElement を定義できるようになります。

ロールの参照

ロール名は、デリゲートがリスト要素からデータを取得するために使用されます。各ロール名はデリゲートのスコープ内でアクセス可能であり、現在の要素内の対応するロールを指します。ロール名の使用が曖昧になる場合は、model プロパティを介してアクセスできます(例:cost の代わりにmodel.cost )。

使用例

以下のモデルは、一連のリスト要素を定義しており、各要素には「name」および「cost」というロールと、それに関連付けられた値が含まれています。

ListModel {
    id: fruitModel

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

デリゲートは、name およびcost を参照するだけで、各要素の名前とコストを取得します:

ListView {
    anchors.fill: parent
    model: fruitModel
    delegate: Row {
        Text { text: "Fruit: " + name }
        Text { text: "Cost: $" + cost }
    }
}

「ListModel」も参照してください 。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.