Класс QMetaProperty
Класс QMetaProperty предоставляет метаданные о свойстве. Подробнее...
| Заголовок: | #include <QMetaProperty> |
| qmake: | QT += core |
Открытые функции
| QMetaEnum | enumerator() const |
| bool | hasNotifySignal() const |
| bool | isConstant() const |
| bool | isDesignable(const QObject *object = nullptr) const |
| bool | isEnumType() const |
| bool | isFinal() const |
| bool | isFlagType() const |
| bool | isReadable() const |
| bool | isResettable() const |
| bool | isScriptable(const QObject *object = nullptr) const |
| bool | isStored(const QObject *object = nullptr) const |
| bool | isUser(const QObject *object = nullptr) const |
| bool | isValid() const |
| bool | isWritable() const |
| const char * | name() const |
| QMetaMethod | notifySignal() const |
| int | notifySignalIndex() const |
| int | propertyIndex() const |
| QVariant | read(const QObject *object) const |
| QVariant | readOnGadget(const void *gadget) const |
| bool | reset(QObject *object) const |
| bool | resetOnGadget(void *gadget) const |
| int | revision() const |
| QVariant::Type | type() const |
| const char * | typeName() const |
| int | userType() const |
| bool | write(QObject *object, const QVariant &value) const |
| bool | writeOnGadget(void *gadget, const QVariant &value) const |
Подробное описание
Класс QMetaProperty предоставляет метаданные о свойстве.
Метаданные свойства получаются из метаобъекта объекта. Смотрите QMetaObject::property() и QMetaObject::propertyCount() для получения подробностей.
Метаданные свойства
Свойство имеет имя name() и тип type(), а также различные атрибуты, определяющие его поведение: isReadable(), isWritable(), isDesignable(), isScriptable(), revision() и isStored().
Если свойство является перечислением, isEnumType() возвращает true; если свойство является перечислением, которое также является флагом (т. е. его значения можно комбинировать с помощью оператора ИЛИ), isEnumType() и isFlagType() оба возвращают true. Перечисление для этих типов доступно из enumerator().
Значения свойства устанавливаются и извлекаются с помощью read(), write() и reset(); их также можно изменить с помощью функций set и get QObject. Смотрите QObject::setProperty() и QObject::property() для получения подробностей.
Копирование и присваивание
Объекты QMetaProperty могут копироваться по значению. Однако каждая копия будет ссылаться на те же базовые метаданные свойства.
См. также QMetaObject, QMetaEnum, QMetaMethod и Систему свойств Qt.
Документация по функциям членов
QMetaEnum QMetaProperty::enumerator() const
Возвращает перечисление, если тип этого свойства является типом перечисления; в противном случае возвращаемое значение неопределено.
См. также isEnumType() и isFlagType().
bool QMetaProperty::hasNotifySignal() const
Возвращает true , если у этого свойства есть соответствующий сигнал уведомления о изменении; в противном случае возвращает false.
См. также notifySignal().
bool QMetaProperty::isConstant() const
Возвращает true , если свойство является константой; в противном случае возвращает false.
Свойство является константой, если атрибут Q_PROPERTY() свойства имеет значение CONSTANT.
Эта функция была представлена в Qt 4.6.
bool QMetaProperty::isDesignable(const QObject *object = nullptr) const
Возвращает true , если это свойство может быть настроено для данного объекта object; в противном случае возвращает false.
Если object не задан, функция возвращает false , если атрибут Q_PROPERTY() свойства имеет значение false; в противном случае возвращает true (если атрибут равен true или является функцией или выражением).
См. также isScriptable() и isStored().
bool QMetaProperty::isEnumType() const
Возвращает true , если тип свойства является значением перечисления; в противном случае возвращает false.
См. также enumerator() и isFlagType().
bool QMetaProperty::isFinal() const
Возвращает true , если свойство является конечным; в противном случае возвращает false.
Свойство является конечным, если атрибут Q_PROPERTY() свойства имеет значение FINAL.
Эта функция была представлена в Qt 4.6.
bool QMetaProperty::isFlagType() const
Возвращает true , если тип свойства является значением перечисления, используемого в качестве флага; в противном случае возвращает false.
Флаги можно комбинировать, используя оператор ИЛИ. Тип флага неявно также является типом перечисления.
См. также isEnumType(), enumerator() и QMetaEnum::isFlag().
bool QMetaProperty::isReadable() const
Возвращает true , если это свойство читаемое; в противном случае возвращает false.
См. также isWritable(), read() и isValid().
bool QMetaProperty::isResettable() const
Возвращает true, если данное свойство может быть сброшено к значению по умолчанию; в противном случае возвращает false.
См. также reset().
bool QMetaProperty::isScriptable(const QObject *object = nullptr) const
Возвращает true, если свойство может быть использовано для скриптов для данного object; в противном случае возвращает false.
Если object не указан, функция возвращает false, если атрибут Q_PROPERTY() для данного свойства имеет значение false; в противном случае возвращает true (если атрибут имеет значение true или это функция или выражение).
См. также isDesignable() и isStored().
bool QMetaProperty::isStored(const QObject *object = nullptr) const
Возвращает true, если свойство сохраняется для object; в противном случае возвращает false.
Если object не указан, функция возвращает false, если атрибут Q_PROPERTY() для данного свойства имеет значение false; в противном случае возвращает true (если атрибут имеет значение true или это функция или выражение).
См. также isDesignable() и isScriptable().
bool QMetaProperty::isUser(const QObject *object = nullptr) const
Возвращает true, если это свойство обозначено как свойство, редактируемое пользователем, для object, или важно в другом смысле. В противном случае возвращает false. Например, свойство text является свойством, редактируемым пользователем, для QLineEdit.
Если object равен null, функция возвращает false, если атрибут Q_PROPERTY() для данного свойства имеет значение false. В противном случае возвращает true.
См. также QMetaObject::userProperty(), isDesignable(), и isScriptable().
bool QMetaProperty::isValid() const
Возвращает true, если это свойство валидно (читаемо); в противном случае возвращает false.
См. также isReadable().
bool QMetaProperty::isWritable() const
Возвращает true, если это свойство записываемо; в противном случае возвращает false.
См. также isReadable() и write().
const char *QMetaProperty::name() const
Возвращает имя этого свойства.
См. также type() и typeName().
QMetaMethod QMetaProperty::notifySignal() const
Возвращает экземпляр QMetaMethod сигнала уведомления об изменении свойства, если он был указан; в противном случае возвращает недействительный QMetaMethod.
Эта функция была добавлена в Qt 4.5.
См. также hasNotifySignal().
int QMetaProperty::notifySignalIndex() const
Возвращает индекс сигнала уведомления об изменении свойства, если он был указан; в противном случае возвращает -1.
Эта функция была добавлена в Qt 4.6.
См. также hasNotifySignal().
int QMetaProperty::propertyIndex() const
Возвращает индекс этого свойства.
Эта функция была добавлена в Qt 4.6.
QVariant QMetaProperty::read(const QObject *object) const
Читает значение свойства из данного object. Возвращает значение, если удалось прочитать; в противном случае возвращает недействительную переменную.
См. также write(), reset(), и isReadable().
QVariant QMetaProperty::readOnGadget(const void *gadget) const
Читает значение свойства из данного gadget. Возвращает значение, если удалось прочитать; в противном случае возвращает недействительную переменную.
Эта функция должна использоваться только если это свойство объекта Q_GADGET.
Эта функция была добавлена в Qt 5.5.
bool QMetaProperty::reset(QObject *object) const
Сбрасывает свойство для данного object с помощью метода сброса. Возвращает true если сброс выполнен; в противном случае возвращает false.
Методы сброса необязательны; их поддерживают только некоторые свойства.
bool QMetaProperty::resetOnGadget(void *gadget) const
Сбрасывает свойство для данного gadget с помощью метода сброса. Возвращает true если сброс выполнен; в противном случае возвращает false.
Методы сброса необязательны; их поддерживают только некоторые свойства.
Эта функция должна использоваться только если это свойство объекта Q_GADGET.
Эта функция была добавлена в Qt 5.5.
int QMetaProperty::revision() const
Возвращает версию свойства, если она была указана с помощью REVISION, в противном случае возвращает 0.
Эта функция была добавлена в Qt 5.1.
QVariant::Type QMetaProperty::type() const
Возвращает тип этого свойства. Возвращаемое значение является одним из значений перечисления QVariant::Type.
См. также userType(), typeName(), и name().
const char *QMetaProperty::typeName() const
Возвращает имя типа этого свойства.
int QMetaProperty::userType() const
Возвращает пользовательский тип этого свойства. Возвращаемое значение является одним из значений, зарегистрированных с помощью QMetaType, или QMetaType::UnknownType, если тип не зарегистрирован.
Эта функция была добавлена в Qt 4.2.
См. также type(), QMetaType, и typeName().
bool QMetaProperty::write(QObject *object, const QVariant &value) const
Записывает value в качестве значения свойства для данного object. Возвращает true, если запись выполнена успешно; в противном случае возвращает false.
Если value не имеет того же типа, что и свойство, выполняется попытка преобразования. Пустая QVariant() эквивалентна вызову reset(), если это свойство сбрасываемо, или задает значение по умолчанию в противном случае.
См. также read(), reset(), и isWritable().
bool QMetaProperty::writeOnGadget(void *gadget, const QVariant &value) const
Записывает value в качестве значения свойства для данного gadget. Возвращает true, если запись выполнена успешно; в противном случае возвращает false.
Эта функция должна использоваться только если это свойство объекта Q_GADGET.
Эта функция была добавлена в Qt 5.5.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qmetaproperty.html