Spec-Zone.ru › Qt 5.9

Тип QML ListElement

Определяет элемент данных в ListModel Подробнее...

Заявление об импорте: import QtQml.Models 2.2
  • Список всех членов, включая унаследованные

Подробное описание

Элементы списка определяются внутри определений ListModel и представляют элементы списка, которые будут отображаться с помощью элементов ListView или Repeater.

Элементы списка определяются как и другие элементы QML, за исключением того, что они содержат набор определений ролей вместо свойств. Используя тот же синтаксис, что и для определения свойств, роли одновременно определяют, как получить доступ к данным, и включают сами данные.

Имена используемых ролей должны начинаться с маленькой буквы и быть общими для всех элементов в данном модели. Значения должны быть простыми константами: либо строками (в кавычках и необязательно внутри вызова QT_TR_NOOP), значениями булевых типов (true, false), числами или значениями перечислений (например, AlignText.AlignHCenter).

Обращение к ролям

Имена ролей используются делегатами для получения данных из элементов списка. Каждое имя роли доступно в области видимости делегата и относится к соответствующей роли в текущем элементе. В случае неоднозначности использования имени роли, к нему можно получить доступ через свойство model (например, model.cost вместо 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.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qtqml-models-listelement.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API