Spec-Zone.ru › Qt 5.6

Тип QML ObjectModel

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

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

Свойства

  • count : int

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

  • index : int

Методы

  • void append(object item)
  • void clear()
  • object get(int index)
  • void insert(int index, object item)
  • void move(int from, int to, int n)
  • void 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

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

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

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

void append(object item)

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

objectModel.append(objectComponent.createObject())

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

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

void clear()

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

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

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

object get(int index)

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

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

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

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

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

void insert(int index, object item)

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

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

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

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

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

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

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

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

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

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

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

void remove(int index, int n = 1)

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

Этот метод QML был представлен в 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.6/qml-qtqml-models-objectmodel.html

Spec-Zone.ru

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