Класс 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, поддерживаемого. Попытка добавить объекты неверного типа в свойство списка завершится ошибкой.
Как и в обычных списках, при обращении к элементу списка по индексу, программист отвечает за то, чтобы перед вызовом at() убедиться, что запрашиваемый элемент не выходит за пределы списка, используя метод count().
Документация по членам-функциям
QQmlListReference::QQmlListReference(QObject *object, const char *property, QQmlEngine *engine = nullptr)
Конструирует QQmlListReference для свойства property объекта object. Если property не является свойством списка, создаётся недопустимый QQmlListReference. Если object уничтожается после создания ссылки, ссылка автоматически становится недопустимой. То есть, безопасно хранить экземпляры QQmlListReference даже после удаления object.
Передача engine требуется для доступа к некоторым свойствам списка, созданным в 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.14/qqmllistreference.html