QMetaProperty Class

Die Klasse QMetaProperty liefert Metadaten über eine Eigenschaft. Mehr...

Kopfzeile: #include <QMetaProperty>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

Öffentliche Funktionen

(since 6.0) QUntypedBindable bindable(QObject *object) const
QMetaEnum enumerator() const
bool hasNotifySignal() const
(since 6.0) bool isBindable() const
bool isConstant() const
bool isDesignable() const
bool isEnumType() const
bool isFinal() const
bool isFlagType() const
bool isReadable() const
bool isRequired() const
bool isResettable() const
bool isScriptable() const
bool isStored() const
bool isUser() const
bool isValid() const
bool isWritable() const
(since 6.0) QMetaType metaType() 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
(since 6.0) int typeId() const
const char *typeName() const
int userType() const
bool write(QObject *object, const QVariant &value) const
(since 6.6) bool write(QObject *object, QVariant &&v) const
bool writeOnGadget(void *gadget, const QVariant &value) const
(since 6.6) bool writeOnGadget(void *gadget, QVariant &&value) const

Detaillierte Beschreibung

Eigenschafts-Metadaten werden aus dem Meta-Objekt eines Objekts bezogen. Siehe QMetaObject::property() und QMetaObject::propertyCount() für Details.

Eigenschafts-Metadaten

Eine Eigenschaft hat ein name() und ein metaType(), sowie verschiedene Attribute, die ihr Verhalten spezifizieren: isReadable(), isWritable(), isDesignable(), isScriptable(), revision() und isStored().

Wenn es sich bei der Eigenschaft um eine Aufzählung handelt, gibt isEnumType() true zurück; wenn es sich bei der Eigenschaft um eine Aufzählung handelt, die auch ein Flag ist (d. h. ihre Werte können mit dem Operator OR kombiniert werden), geben isEnumType() und isFlagType() beide true zurück. Der Enumerator für diese Typen ist unter enumerator() verfügbar.

Die Werte der Eigenschaft werden mit read(), write() und reset() gesetzt und abgefragt; sie können auch mit den Funktionen set und get von QObject geändert werden. Siehe QObject::setProperty() und QObject::property() für Details.

Kopieren und Zuweisen

QMetaProperty-Objekte können nach Wert kopiert werden. Jede Kopie bezieht sich jedoch auf dieselben zugrundeliegenden Eigenschafts-Metadaten.

Siehe auch QMetaObject, QMetaEnum, QMetaMethod, und Qt's Property System.

Dokumentation der Mitgliedsfunktionen

[since 6.0] QUntypedBindable QMetaProperty::bindable(QObject *object) const

Gibt die bindungsfähige Schnittstelle für die Eigenschaft auf einer gegebenen object zurück.

Wenn die Eigenschaft keine Bindungen unterstützt, ist die zurückgegebene Schnittstelle ungültig.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch QObjectBindableProperty, QProperty, und isBindable().

QMetaEnum QMetaProperty::enumerator() const

Gibt den Enumerator zurück, wenn der Typ dieser Eigenschaft ein Enumerator-Typ ist; andernfalls ist der zurückgegebene Wert undefiniert.

Siehe auch isEnumType() und isFlagType().

bool QMetaProperty::hasNotifySignal() const

Gibt true zurück, wenn diese Eigenschaft ein entsprechendes Change Notify Signal hat; andernfalls false.

Siehe auch notifySignal().

[since 6.0] bool QMetaProperty::isBindable() const

Gibt true zurück, wenn die Q_PROPERTY() Bindungsfunktionalität bereitstellt; andernfalls wird false zurückgegeben.

Dies bedeutet, dass Sie Bindungen erstellen können, die diese Eigenschaft als Abhängigkeit verwenden, oder QPropertyObserver-Objekte auf dieser Eigenschaft installieren können. Sofern die Eigenschaft nicht schreibgeschützt ist, können Sie auch eine Bindung an diese Eigenschaft erstellen.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch QProperty, isWritable(), und bindable().

bool QMetaProperty::isConstant() const

Gibt true zurück, wenn die Eigenschaft konstant ist; andernfalls wird false zurückgegeben.

Eine Eigenschaft ist konstant, wenn das Attribut Q_PROPERTY()'s CONSTANT gesetzt ist.

bool QMetaProperty::isDesignable() const

Gibt false zurück, wenn das Attribut DESIGNABLE von Q_PROPERTY() falsch ist; andernfalls gibt es true zurück.

Siehe auch isScriptable() und isStored().

bool QMetaProperty::isEnumType() const

Gibt true zurück, wenn der Typ der Eigenschaft ein Aufzählungswert ist; andernfalls wird false zurückgegeben.

Siehe auch enumerator() und isFlagType().

bool QMetaProperty::isFinal() const

Gibt true zurück, wenn die Eigenschaft endgültig ist; andernfalls wird false zurückgegeben.

Eine Eigenschaft ist endgültig, wenn das Attribut Q_PROPERTY()'s FINAL gesetzt ist.

bool QMetaProperty::isFlagType() const

Gibt true zurück, wenn der Typ der Eigenschaft ein Aufzählungswert ist, der als Flag verwendet wird; andernfalls wird false zurückgegeben.

Flaggen können mit dem Operator OR kombiniert werden. Ein Flag-Typ ist implizit auch ein Enum-Typ.

Siehe auch isEnumType(), enumerator(), und QMetaEnum::isFlag().

bool QMetaProperty::isReadable() const

Gibt true zurück, wenn diese Eigenschaft lesbar ist; andernfalls wird false zurückgegeben.

Siehe auch isWritable(), read(), und isValid().

bool QMetaProperty::isRequired() const

Gibt true zurück, wenn die Eigenschaft erforderlich ist; andernfalls wird false zurückgegeben.

Eine Eigenschaft ist endgültig, wenn das Attribut Q_PROPERTY()'s REQUIRED gesetzt ist.

bool QMetaProperty::isResettable() const

Gibt true zurück, wenn diese Eigenschaft auf einen Standardwert zurückgesetzt werden kann; andernfalls wird false zurückgegeben.

Siehe auch reset().

bool QMetaProperty::isScriptable() const

Gibt false zurück, wenn das Attribut SCRIPTABLE von Q_PROPERTY() falsch ist; andernfalls wird true zurückgegeben.

Siehe auch isDesignable() und isStored().

bool QMetaProperty::isStored() const

Gibt true zurück, wenn die Eigenschaft gespeichert ist; andernfalls wird false zurückgegeben.

Die Funktion gibt false zurück, wenn das Attribut Q_PROPERTY()'s STORED falsch ist; andernfalls gibt sie true zurück.

Siehe auch isDesignable() und isScriptable().

bool QMetaProperty::isUser() const

Gibt false zurück, wenn das Attribut Q_PROPERTY()'s USER falsch ist. Andernfalls wird true zurückgegeben, was anzeigt, dass die Eigenschaft als USER Eigenschaft bezeichnet wird, d.h. diejenige, die der Benutzer bearbeiten kann oder die in anderer Weise von Bedeutung ist.

Siehe auch QMetaObject::userProperty(), isDesignable(), und isScriptable().

bool QMetaProperty::isValid() const

Gibt true zurück, wenn diese Eigenschaft gültig (lesbar) ist; andernfalls wird false zurückgegeben.

Siehe auch isReadable().

bool QMetaProperty::isWritable() const

Gibt true zurück, wenn diese Eigenschaft beschreibbar ist; andernfalls wird false zurückgegeben.

Siehe auch isReadable() und write().

[since 6.0] QMetaType QMetaProperty::metaType() const

Gibt die QMetaType dieser Eigenschaft zurück.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch QMetaType.

const char *QMetaProperty::name() const

Gibt den Namen dieser Eigenschaft zurück.

Siehe auch type() und typeName().

QMetaMethod QMetaProperty::notifySignal() const

Liefert die Instanz QMetaMethod des Signals zur Benachrichtigung über eine Eigenschaftsänderung zurück, wenn eines angegeben wurde, andernfalls wird ein ungültiges QMetaMethod zurückgegeben.

Siehe auch hasNotifySignal().

int QMetaProperty::notifySignalIndex() const

Gibt den Index des Eigenschaftsänderungs-Benachrichtigungssignals zurück, falls eines angegeben wurde, andernfalls wird -1 zurückgegeben.

Siehe auch hasNotifySignal().

int QMetaProperty::propertyIndex() const

Gibt den Index dieser Eigenschaft zurück.

QVariant QMetaProperty::read(const QObject *object) const

Liest den Wert der Eigenschaft aus der angegebenen object. Gibt den Wert zurück, wenn er gelesen werden konnte; andernfalls wird eine ungültige Variante zurückgegeben.

Siehe auch write(), reset(), und isReadable().

QVariant QMetaProperty::readOnGadget(const void *gadget) const

Liest den Wert der Eigenschaft aus der angegebenen gadget. Gibt den Wert zurück, wenn er gelesen werden konnte; andernfalls wird eine ungültige Variante zurückgegeben.

Diese Funktion sollte nur verwendet werden, wenn es sich um eine Eigenschaft einer Q_GADGET

int QMetaProperty::relativePropertyIndex() const

Gibt den Index dieser Eigenschaft relativ zum umschließenden Metaobjekt zurück.

bool QMetaProperty::reset(QObject *object) const

Setzt die Eigenschaft für die angegebene object mit einer Reset-Methode zurück. Gibt true zurück, wenn das Zurücksetzen funktioniert hat; andernfalls wird false zurückgegeben.

Rücksetzmethoden sind optional; nur wenige Eigenschaften unterstützen sie.

Siehe auch read() und write().

bool QMetaProperty::resetOnGadget(void *gadget) const

Setzt die Eigenschaft für die angegebene gadget mit einer Reset-Methode zurück. Gibt true zurück, wenn das Zurücksetzen funktioniert hat; andernfalls wird false zurückgegeben.

Reset-Methoden sind optional; nur wenige Eigenschaften unterstützen sie.

Diese Funktion sollte nur verwendet werden, wenn es sich um eine Eigenschaft einer Q_GADGET

int QMetaProperty::revision() const

Gibt die Eigenschaftsrevision zurück, wenn eine durch Q_REVISION angegeben wurde, andernfalls wird 0 zurückgegeben. Seit Qt 6.0 werden Werte, die nicht Null sind, kodiert und können mit QTypeRevision::fromEncodedVersion() dekodiert werden.

[since 6.0] int QMetaProperty::typeId() const

Gibt den Speichertyp der Eigenschaft zurück. Dies ist dasselbe wie metaType().id().

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch QMetaType, typeName(), und metaType().

const char *QMetaProperty::typeName() const

Gibt den Namen des Typs dieser Eigenschaft zurück.

Siehe auch type() und name().

int QMetaProperty::userType() const

Gibt den Benutzertyp dieser Eigenschaft zurück. Der Rückgabewert ist einer der Werte, die unter QMetaType registriert sind.

Dies ist äquivalent zu metaType().id()

Siehe auch type(), QMetaType, typeName(), und metaType().

bool QMetaProperty::write(QObject *object, const QVariant &value) const

Schreibt value als Wert der Eigenschaft in die angegebene object. Gibt true zurück, wenn der Schreibvorgang erfolgreich war; andernfalls wird false zurückgegeben.

Wenn value nicht vom gleichen Typ wie die Eigenschaft ist, wird eine Konvertierung versucht. Eine leere QVariant() ist gleichbedeutend mit einem Aufruf von reset(), wenn diese Eigenschaft zurücksetzbar ist, oder andernfalls mit dem Setzen eines standardmäßig konstruierten Objekts.

Hinweis: Diese Funktion erstellt intern eine Kopie von value. Verwenden Sie lieber die rvalue Überladung, wenn möglich.

Siehe auch read(), reset(), und isWritable().

[since 6.6] bool QMetaProperty::write(QObject *object, QVariant &&v) const

Dies ist eine überladene Funktion.

Diese Funktion wurde in Qt 6.6 eingeführt.

bool QMetaProperty::writeOnGadget(void *gadget, const QVariant &value) const

Schreibt value als Wert der Eigenschaft in die angegebene gadget. Gibt true zurück, wenn der Schreibvorgang erfolgreich war; andernfalls wird false zurückgegeben.

Diese Funktion sollte nur verwendet werden, wenn es sich um eine Eigenschaft einer Q_GADGET

[since 6.6] bool QMetaProperty::writeOnGadget(void *gadget, QVariant &&value) const

Dies ist eine überladene Funktion.

Diese Funktion wurde in Qt 6.6 eingeführt.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.