Spec-Zone.ru › Qt 5.9

Тип 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/qt-5.9/qml-qtqml-models-objectmodel.html

Spec-Zone.ru

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