Spec-Zone.ru › Qt 5.11

Тип QML ObjectModel

Определяет набор элементов, используемых в качестве модели. Подробнее...

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

Свойства

  • count : int

Присоединённые свойства

  • index : int

Методы

  • append(объект item)
  • clear()
  • объект get(int index)
  • insert(int index, объект item)
  • move(int from, int to, int n = 1)
  • remove(int index, int n = 1)

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

ObjectModel содержит визуальные элементы, которые будут использованы в представлении. Когда ObjectModel используется в представлении, представлению не требуется делегат, так как ObjectModel уже содержит визуальный делегат (элементы).

Элемент может определить свой индекс в модели с помощью присоединённого свойства index.

В примере ниже в ListView размещаются три прямоугольника разных цветов.

import QtQuick 2.0
import QtQml.Models 2.1

Rectangle {
    ObjectModel {
        id: itemModel
        Rectangle { height: 30; width: 80; color: "red" }
        Rectangle { height: 30; width: 80; color: "green" }
        Rectangle { height: 30; width: 80; color: "blue" }
    }

    ListView {
        anchors.fill: parent
        model: itemModel
    }
}

См. также Примеры Qt Quick — Представления.

Документация по свойствам

count : int

Количество элементов в модели. Это свойство только для чтения.

Документация по присоединённым свойствам

ObjectModel.index : int

Это присоединённое свойство содержит индекс этого элемента делегата в модели.

Оно присоединяется к каждому экземпляру делегата.

Документация по методам

append(объект item)

Добавляет новый элемент в конец модели.

objectModel.append(objectComponent.createObject())

Этот метод был представлен в Qt 5.6.

См. также insert() и remove().

clear()

Очищает все элементы из модели.

Этот метод был представлен в Qt 5.6.

См. также append() и remove().

объект get(int index)

Возвращает элемент по индексу index в модели. Это позволяет получить доступ к элементу или изменить его из JavaScript:

Component.onCompleted: {
    objectModel.append(objectComponent.createObject())
    console.log(objectModel.get(0).objectName);
    objectModel.get(0).objectName = "first";
}

index должен быть элементом в списке.

Этот метод был представлен в Qt 5.6.

См. также append().

insert(int index, объект item)

Вставляет новый элемент в модель в позицию index.

objectModel.insert(2, objectComponent.createObject())

index должен указывать на существующий элемент в списке или позицию сразу за последним элементом (аналогично append).

Этот метод был представлен в Qt 5.6.

См. также append() и remove().

move(int from, int to, int n = 1)

Перемещает n элементов из одной позиции from в другую to.

Диапазоны from и to должны существовать; например, чтобы переместить первые 3 элемента в конец модели:

objectModel.move(0, objectModel.count - 3, 3)

Этот метод был представлен в Qt 5.6.

См. также append().

remove(int index, int n = 1)

Удаляет элементы по индексу index из модели.

Этот метод был представлен в Qt 5.6.

См. также clear().

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

Spec-Zone.ru

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