Spec-Zone.ru › Qt 6.1

Тип QML ObjectModel

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

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

Свойства

  • count : int

Прикреплённые свойства

  • index : int

Методы

  • append(object item)
  • clear()
  • object get(int index)
  • insert(int index, object item)
  • move(int from, int to, int n)
  • remove(int index, int n)

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

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

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

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

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

[since 5.6] append(object item)

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

objectModel.append(objectComponent.createObject())

Этот метод был введён в Qt 5.6.

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

[since 5.6] clear()

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

Этот метод был введён в Qt 5.6.

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

[since 5.6] object 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().

[since 5.6] insert(int index, object item)

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

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

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

Этот метод был введён в Qt 5.6.

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

[since 5.6] 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().

[since 5.6] remove(int index, int n = 1)

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

Этот метод был введён в Qt 5.6.

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

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

Spec-Zone.ru

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