Spec-Zone.ru › Qt 5.11

Класс QQmlListReference

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

Заголовок: #include <QQmlListReference>
qmake: QT += qml
С тех пор: Qt 5.0
  • Список всех членов, включая унаследованные члены

Открытые функции

QQmlListReference()
QQmlListReference(QObject *object, const char *property, QQmlEngine *engine = 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 = 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/archives/qt-5.11/qqmllistreference.html

Spec-Zone.ru

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