Auf dieser Seite

QMetaProperty Class

Die Klasse „QMetaProperty“ stellt Metadaten zu einer Eigenschaft bereit. Mehr...

Header: #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
(since 6.11) bool isOverride() const
bool isReadable() const
bool isRequired() const
bool isResettable() const
bool isScriptable() const
bool isStored() const
bool isUser() const
bool isValid() const
(since 6.11) bool isVirtual() 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

Ausführliche Beschreibung

Eigenschafts-Metadaten werden aus dem Metaobjekt eines Objekts abgerufen. Weitere Informationen finden Sie unter QMetaObject::property() und QMetaObject::propertyCount().

Eigenschafts-Metadaten

Eine Eigenschaft verfügt über eine „ name()“ und eine „ metaType()“ sowie über verschiedene Attribute, die ihr Verhalten festlegen: „ isReadable()“, „ isWritable()“, „ isDesignable()“, „ isScriptable()“, „ revision()“ und „ isStored()“.

Wenn es sich bei der Eigenschaft um eine Aufzählung handelt, gibt isEnumType() den Wert true zurück; wenn es sich bei der Eigenschaft um eine Aufzählung handelt, die gleichzeitig ein Flag ist (d. h., deren Werte mit dem OR-Operator kombiniert werden können), geben sowohl isEnumType() als auch isFlagType() den Wert „true“ zurück. Der Aufzähler für diese Typen ist über enumerator() verfügbar.

Die Werte der Eigenschaft werden mit ` read()`, ` write()` und ` reset()` gesetzt und abgerufen; sie können auch über die Set- und Get-Funktionen von ` QObject` geändert werden. Weitere Informationen finden Sie unter ` QObject::setProperty()` und ` QObject::property()`.

Kopieren und Zuweisen

QMetaProperty-Objekte können wertweise kopiert werden. Jede Kopie verweist jedoch auf dieselben zugrunde liegenden Eigenschaftsmetadaten.

Siehe auch QMetaObject, QMetaEnum, QMetaMethod und das Qt-Eigenschaftssystem.

Dokumentation zu den Mitgliedsfunktionen

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

Gibt die bindbare Schnittstelle für die Eigenschaft eines angegebenen „ 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 über ein entsprechendes Änderungsbenachrichtigungssignal verfügt; andernfalls wird „ false “ zurückgegeben.

Siehe auch „ notifySignal()“.

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

Gibt „ true “ zurück, wenn das „ Q_PROPERTY() “ Bindungsfunktionen bereitstellt; andernfalls wird „false“ zurückgegeben.

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

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 „ CONSTANT “ von „ Q_PROPERTY() “ gesetzt ist.

bool QMetaProperty::isDesignable() const

Gibt „ false “ zurück, wenn das Attribut „ DESIGNABLE “ des „ Q_PROPERTY() “ den Wert „false“ hat; andernfalls wird „ true “ zurückgegeben.

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 „final“ ist; andernfalls wird „ false “ zurückgegeben.

Eine Eigenschaft ist „final“, wenn das Attribut „ FINAL “ von „ Q_PROPERTY() “ 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.

Flags können mithilfe des OR-Operators kombiniert werden. Ein Flag-Typ ist implizit auch ein Enum-Typ.

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

[since 6.11] bool QMetaProperty::isOverride() const

Gibt „ true “ zurück, wenn die Eigenschaft überschrieben wird; andernfalls wird „ false “ zurückgegeben.

Eine Eigenschaft überschreibt, wenn das Attribut „ OVERRIDE “ von „ Q_PROPERTY() “ gesetzt ist.

Diese Funktion wurde in Qt 6.11 eingeführt.

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 „final“, wenn das Attribut „ REQUIRED “ von „ Q_PROPERTY() “ 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() “ den Wert „false“ hat; 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 „ STORED “ des „ Q_PROPERTY() “ auf „false“ gesetzt ist; andernfalls gibt sie „true“ zurück.

Siehe auch ` isDesignable()` und ` isScriptable()`.

bool QMetaProperty::isUser() const

Gibt „ false “ zurück, wenn das Attribut „ USER “ des „ Q_PROPERTY() “ den Wert „false“ hat. Andernfalls wird „true“ zurückgegeben, was darauf hinweist, dass die Eigenschaft als „ USER “-Eigenschaft gekennzeichnet ist, d. h. als eine Eigenschaft, 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()“.

[since 6.11] bool QMetaProperty::isVirtual() const

Gibt „ true “ zurück, wenn die Eigenschaft virtuell ist; andernfalls gibt sie „ false “ zurück.

Eine Eigenschaft ist virtuell, wenn das Attribut ` VIRTUAL ` von ` Q_PROPERTY()` gesetzt ist.

Diese Funktion wurde in Qt 6.11 eingeführt.

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

Gibt die ` QMetaMethod `-Instanz des Signals zur Benachrichtigung über Eigenschaftsänderungen zurück, sofern eine solche angegeben wurde; andernfalls wird ein ungültiges ` QMetaMethod` zurückgegeben.

Siehe auch hasNotifySignal().

int QMetaProperty::notifySignalIndex() const

Gibt den Index des Signals zur Benachrichtigung über Eigenschaftsänderungen zurück, sofern 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 “ aus. Gibt den Wert zurück, wenn das Auslesen erfolgreich war; andernfalls wird ein ungültiges Variant zurückgegeben.

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

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

Liest den Wert der Eigenschaft aus dem angegebenen „ gadget “ aus. Gibt den Wert zurück, wenn das Auslesen gelungen ist; andernfalls wird ein ungültiges Variant zurückgegeben.

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

int QMetaProperty::relativePropertyIndex() const

Gibt den relativen Index dieser Eigenschaft innerhalb des übergeordneten Metaobjekts zurück.

bool QMetaProperty::reset(QObject *object) const

Setzt die Eigenschaft für die angegebene „ object “ mithilfe einer Reset-Methode zurück. Gibt „ true “ zurück, wenn das Zurücksetzen erfolgreich war; andernfalls wird „ false “ zurückgegeben.

Reset-Methoden 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 “ mithilfe einer Reset-Methode zurück. Gibt „ true “ zurück, wenn das Zurücksetzen erfolgreich war; 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 eines Q_GADGET

int QMetaProperty::revision() const

Gibt die Eigenschaft „revision“ zurück, sofern diese über ` Q_REVISION` angegeben wurde; andernfalls wird 0 zurückgegeben. Seit Qt 6.0 werden Werte ungleich Null kodiert und können mit ` QTypeRevision::fromEncodedVersion()` dekodiert werden.

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

Gibt den Speichertyp der Eigenschaft zurück. Dies entspricht der Funktion „ 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 entspricht 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 das Schreiben erfolgreich war; andernfalls wird „ false “ zurückgegeben.

Wenn „ value “ nicht denselben Typ wie die Eigenschaft hat, wird eine Konvertierung versucht. Ein leeres „QVariant()“ entspricht einem Aufruf von „ reset()“, sofern diese Eigenschaft zurücksetzbar ist, andernfalls dem Setzen eines Objekts mit Standardkonstruktion.

Hinweis: Diese Funktion erstellt intern eine Kopie von ` value`. Verwenden Sie nach Möglichkeit die R-Wert-Überladung.

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 eines 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.

© 2026 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.