Spec-Zone.ru › Qt 5.14

Класс 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
int relativePropertyIndex() 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

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

Метаданные о свойстве получаются из метаобъекта объекта. Подробности см. в QMetaObject::property() и QMetaObject::propertyCount().

Метаданные о свойстве

Свойство имеет название() и тип(), а также различные атрибуты, определяющие его поведение: isReadable(), isWritable(), isDesignable(), isScriptable(), revision() и isStored().

Если свойство является перечислением, isEnumType() возвращает true; если свойство является перечислением, которое также является флагом (т.е. его значения могут быть объединены с помощью оператора ИЛИ), isEnumType() и isFlagType() оба возвращают true. Перечисление для этих типов доступно из enumerator().

Значения свойства устанавливаются и извлекаются с помощью read(), write() и reset(); их также можно изменить через функции установки и получения 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() атрибут DESIGNABLE равен 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() SCRIPTABLE равен false; в противном случае возвращает true (если атрибут равен true или это функция или выражение).

См. также isDesignable() и isStored().

bool QMetaProperty::isStored(const QObject *object = nullptr) const

Возвращает true если свойство хранится для object; в противном случае возвращает false.

Если object не указан, функция возвращает false если атрибут Q_PROPERTY() STORED равен false; в противном случае возвращает true (если атрибут равен true или это функция или выражение).

См. также isDesignable() и isScriptable().

bool QMetaProperty::isUser(const QObject *object = nullptr) const

Возвращает true если это свойство обозначено как свойство USER, т. е. то, которое пользователь может изменить для object или которое имеет какое-то другое значение. В противном случае возвращает false. Например, свойство text является свойством USER для редактирования QLineEdit.

Если object равен nullptr, функция возвращает false если атрибут Q_PROPERTY() USER равен 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.

int QMetaProperty::relativePropertyIndex() const

Возвращает индекс этого свойства относительно содержащего метаобъекта.

Эта функция была добавлена в Qt 5.14.

bool QMetaProperty::reset(QObject *object) const

Сбрасывает свойство для данного object с помощью метода сброса. Возвращает true если сброс выполнен; в противном случае возвращает false.

Методы сброса являются необязательными; их поддерживают только некоторые свойства.

См. также read() и write().

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

Возвращает имя типа этого свойства.

См. также type() и name().

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/qt-5.14/qmetaproperty.html

Spec-Zone.ru

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