Spec-Zone.ru › Qt 5.13

Класс QQmlListReference

Класс QQmlListReference позволяет управлять свойствами типа QQmlListProperty. Подробнее...

Заголовок: #include <QQmlListReference>
qmake: QT += qml
С тех пор: Qt 5.0

Этот класс был введён в Qt 5.0.

  • Список всех членов, включая унаследованные

Публичные функции

QQmlListReference(QObject *object, const char *property, QQmlEngine *engine = nullptr)
QQmlListReference()
bool append(QObject *object) const
QObject * at(int index) const
bool canAppend() const
bool canAt() const
bool canClear() const
bool canCount() const
bool clear() const
int count() const
bool isManipulable() const
bool isReadable() const
bool isValid() const
const QMetaObject * listElementType() const
QObject * object() const

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

QQmlListReference позволяет C++-программам читать и изменять значения свойства типа списка QML простым и безопасным способом. QQmlListReference можно создать, передав объект и имя свойства или через экземпляр QQmlProperty. Эти два способа эквивалентны:

QQmlListReference ref1(object, "children");

QQmlProperty ref2(object, "children");
QQmlListReference ref2 = qvariant_cast<QQmlListReference>(ref2.read());

Не все свойства QML типа списка поддерживают все операции. Набор методов canAppend(), canAt(), canClear() и canCount() позволяют программам проверять, поддерживает ли данное свойство определённую операцию.

Свойства QML типа списка являются типизированными. В список можно добавлять только объекты QObject, производные от соответствующего базового класса. Метод listElementType() можно использовать для запроса QMetaObject типа QObject, который поддерживается. Попытка добавить объекты несоответствующего типа в свойство списка завершится ошибкой.

Как и в обычных списках, при обращении к элементу списка по индексу, программисту необходимо убедиться, что запрашиваемый индекс находится в пределах допустимых значений, используя метод count() перед вызовом at().

Документация по функциям-членам

QQmlListReference::QQmlListReference(QObject *object, const char *property, QQmlEngine *engine = nullptr)

Создаёт QQmlListReference для свойства property объекта object. Если property не является свойством типа список, создаётся недействительный QQmlListReference. Если объект object уничтожается после создания ссылки, ссылка автоматически становится недействительной. То есть, безопасно хранить экземпляры QQmlListReference даже после удаления object.

Передача engine необходима для доступа к некоторым свойствам QML типа списка, созданным в QML. Если есть сомнения, и движок QML доступен, передайте его.

QQmlListReference::QQmlListReference()

Создаёт недействительный экземпляр.

bool QQmlListReference::append(QObject *object) const

Добавляет object в список. Возвращает true, если операция выполнена успешно, иначе false.

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

QObject *QQmlListReference::at(int index) const

Возвращает элемент списка по индексу index или 0, если операция не удалась.

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

bool QQmlListReference::canAppend() const

Возвращает true, если свойство списка можно добавить, иначе false. Возвращает false, если ссылка недействительна.

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

bool QQmlListReference::canAt() const

Возвращает true, если свойство списка можно получить по индексу, иначе false. Возвращает false, если ссылка недействительна.

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

bool QQmlListReference::canClear() const

Возвращает true, если свойство списка можно очистить, иначе false. Возвращает false, если ссылка недействительна.

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

bool QQmlListReference::canCount() const

Возвращает true, если свойство списка можно запросить для получения количества элементов, иначе false. Возвращает false, если ссылка недействительна.

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

bool QQmlListReference::clear() const

Очищает список. Возвращает true, если операция выполнена успешно, иначе false.

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

int QQmlListReference::count() const

Возвращает количество объектов в списке или 0, если операция не удалась.

bool QQmlListReference::isManipulable() const

Возвращает true, если реализованы at(), count(), append() и clear(), то есть можно управлять списком.

См. также isReadable(), at(), count(), append() и clear().

bool QQmlListReference::isReadable() const

Возвращает true, если реализованы at() и count(), то есть можно получить доступ к элементам.

См. также isManipulable(), at() и count().

bool QQmlListReference::isValid() const

Возвращает true, если ссылка относится к валидному свойству типа список, иначе false.

const QMetaObject *QQmlListReference::listElementType() const

Возвращает QMetaObject для элементов, хранящихся в свойстве списка, или nullptr если ссылка недействительна.

Можно использовать QMetaObject, чтобы определить, можно ли добавить данный экземпляр в список.

QObject *QQmlListReference::object() const

Возвращает объект свойства списка. Возвращает nullptr если ссылка недействительна.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qqmllistreference.html

Spec-Zone.ru

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