list QML Value Type
QMLオブジェクトの一覧。詳細...
詳細な説明
list 型は、QMLオブジェクトまたは値のリストを指します。
list 型のプロパティは、デフォルトでは空です。
list は、QML オブジェクトまたは値型の値を格納できます。
C++ と統合する場合、C++ から QML に渡される QQmlListProperty 値は自動的にlist 値に変換され、その逆も同様であることに注意してください。
同様に、登録済みの値型T のQList<T> は、自動的にlist 値に変換され、その逆も同様です。
リスト型の使用
たとえば、Item 型にはstates リスト型プロパティがあり、次のように代入して使用できます。
import QtQuick
Item {
width: 100; height: 100
states: [
State { name: "activated" },
State { name: "deactivated" }
]
Component.onCompleted: {
console.log("Name of first state:", states[0].name)
for (var i = 0; i < states.length; i++)
console.log("state", i, states[i].name)
}
}定義されたState オブジェクトは、定義された順序でstates リストに追加されます。
リストにオブジェクトが1つしか含まれていない場合は、角括弧を省略できます:
QMLでは、独自のリストプロパティを宣言することもできます:
import QtQml
QtObject {
property list<int> intList: [1, 2, 3, 4]
property list<QtObject> objectList
}リストは、JavaScriptの配列とよく似た方法で使用できます。例えば:
- 値は、
[]の角括弧構文を使用し、値をコンマ区切りで指定して割り当てます lengthプロパティは、リスト内の項目数を返します- リスト内の値には、
[index]構文を使用してアクセスします push()を使用してエントリを追加できます- リストの `
length` プロパティを設定することで、リストを切り詰めたり拡張したりできます。
ただし、現在範囲外にあるインデックスに値を割り当てることで、リストを自動的に拡張することはできません。さらに、オブジェクトのリストに `null ` 値を挿入すると、それらは基盤となる `QQmlListProperty` 内の `nullptr ` エントリに変換されます。
値型のリストは、もう 1 つの重要な点で JavaScript の配列とは異なります。それは、長さを設定してリストを拡張しても、undefined のエントリが生成されるのではなく、その値型のデフォルト構築されたインスタンスが生成されるという点です。
同様に、オブジェクト型のリストをこの方法で拡張しても、undefined のエントリではなく null のエントリが生成されます。
この値型は、QML 言語によって提供されています。
「QML 値型」も参照してください 。
© 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.