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