Класс QQmlListReference
Класс QQmlListReference позволяет управлять свойствами QQmlListProperty. Подробнее...
| Заголовок: | #include <QQmlListReference> |
| qmake: | QT += qml |
| С тех пор: | Qt 5.0 |
Открытые функции
| QQmlListReference() | |
| QQmlListReference(QObject *object, const char *property, QQmlEngine *engine = Q_NULLPTR) | |
| 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 позволяет управлять свойствами QQmlListProperty.
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().
В версии Qt Quick 1 этот класс называется QDeclarativeListReference.
Документация по членам-функциям
QQmlListReference::QQmlListReference()
Создаёт недействительный экземпляр.
QQmlListReference::QQmlListReference(QObject *object, const char *property, QQmlEngine *engine = Q_NULLPTR)
Создаёт QQmlListReference для свойства property объекта object. Если property не является свойством списка, создаётся недействительный QQmlListReference. Если объект object уничтожается после создания ссылки, она автоматически станет недействительной. То есть, безопасно хранить экземпляры QQmlListReference даже после удаления object.
Передача engine требуется для доступа к некоторым свойствам списков, созданным QML. Если есть сомнения, и движок доступен, передайте его.
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 для элементов, хранящихся в свойстве списка. Возвращает 0, если ссылка недействительна.
Метод QMetaObject можно использовать заранее, чтобы определить, можно ли добавить данный экземпляр в список.
QObject *QQmlListReference::object() const
Возвращает объект свойства списка. Возвращает 0, если ссылка недействительна.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qqmllistreference.html