Список QML Базовый тип
Список QML объектов.
Тип list относится к списку QML объектов.
Значение списка можно получить аналогично массиву JavaScript:
- Значения присваиваются с помощью синтаксиса квадратных скобок
[]с запятыми, разделяющими значения - Свойство
lengthсодержит количество элементов в списке - Доступ к значениям в списке осуществляется с помощью синтаксиса
[index]
Значения могут быть динамически добавлены в список с помощью метода push, как если бы это был массив JavaScript.
Список list может хранить только QML объекты и не может содержать значения базового типа. (Для хранения базовых типов в списке используйте тип var).
При интеграции с C++, обратите внимание, что любое значение QQmlListProperty, переданное в QML из C++, автоматически преобразуется в значение list и наоборот.
Использование типа списка
Например, тип Item имеет свойство списка states, которому можно присвоить значение и использовать его следующим образом:
import QtQuick 2.0
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 в том порядке, в котором они определены.
Если список содержит только один объект, квадратные скобки можно опустить:
import QtQuick 2.0
Item {
width: 100; height: 100
states: State { name: "activated" }
} Обратите внимание, что объекты не могут быть индивидуально добавлены или удалены из списка после его создания; для изменения содержимого списка он должен быть переприсвоен новому списку.
Примечание: Тип list не рекомендуется в качестве типа для пользовательских свойств. Для этой цели следует использовать тип var, так как списки, хранимые типом var, могут быть изменены с большей гибкостью внутри QML.
Этот базовый тип предоставляется языком QML.
См. также QML Базовые типы.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-list.html