QMetaEnum Class

Die Klasse QMetaEnum liefert Metadaten über einen Enumerator. Mehr...

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

Öffentliche Funktionen

const char *enumName() const
bool isFlag() const
bool isScoped() const
bool isValid() const
const char *key(int index) const
int keyCount() const
int keyToValue(const char *key, bool *ok = nullptr) const
int keysToValue(const char *keys, bool *ok = nullptr) const
(since 6.6) QMetaType metaType() const
const char *name() const
const char *scope() const
int value(int index) const
const char *valueToKey(int value) const
QByteArray valueToKeys(int value) const

Statische öffentliche Mitglieder

QMetaEnum fromType()

Detaillierte Beschreibung

Verwenden Sie name() für den Namen des Zählers. Die Schlüssel des Zählers (Namen der einzelnen Aufzählungselemente) werden von key() zurückgegeben; verwenden Sie keyCount(), um die Anzahl der Schlüssel zu ermitteln. isFlag() gibt zurück, ob der Enumerator als Flag verwendet werden soll, was bedeutet, dass seine Werte mit dem OR-Operator kombiniert werden können.

Die Konvertierungsfunktionen keyToValue(), valueToKey(), keysToValue() und valueToKeys() ermöglichen die Konvertierung zwischen der ganzzahligen Darstellung eines Aufzählungs- oder Mengenwerts und seiner literalen Darstellung. Die Funktion scope() gibt den Klassenbereich zurück, in dem dieser Aufzählungswert deklariert wurde.

Siehe auch QMetaObject, QMetaMethod, und QMetaProperty.

Dokumentation der Mitgliedsfunktionen

const char *QMetaEnum::enumName() const

Gibt den Enum-Namen des Flags zurück (ohne den Bereich).

Das Flag Qt::AlignmentFlag hat zum Beispiel AlignmentFlag als Enum-Namen, aber Alignment als Typnamen. Nicht-Flag-Enums haben denselben Typ- und Enum-Namen.

Enum-Namen haben denselben Geltungsbereich wie der Typname.

Siehe auch isValid() und name().

[static] template <typename T> QMetaEnum QMetaEnum::fromType()

Gibt die QMetaEnum zurück, die dem Typ im Template-Parameter entspricht. Die Aufzählung muss mit Q_ENUM deklariert werden.

bool QMetaEnum::isFlag() const

Gibt true zurück, wenn dieser Zähler als Flag verwendet wird; andernfalls wird false zurückgegeben.

Wenn sie als Flags verwendet werden, können Aufzählungszeichen mit dem Operator OR kombiniert werden.

Siehe auch keysToValue() und valueToKeys().

bool QMetaEnum::isScoped() const

Gibt true zurück, wenn dieser Enumerator als C++11-Enum-Klasse deklariert ist; andernfalls wird false zurückgegeben.

bool QMetaEnum::isValid() const

Gibt true zurück, wenn diese Aufzählung gültig ist (einen Namen hat); andernfalls wird false zurückgegeben.

Siehe auch name().

const char *QMetaEnum::key(int index) const

Gibt den Schlüssel mit dem angegebenen index zurück, oder nullptr, wenn kein solcher Schlüssel existiert.

Siehe auch keyCount(), value(), und valueToKey().

int QMetaEnum::keyCount() const

Gibt die Anzahl der Schlüssel zurück.

Siehe auch key().

int QMetaEnum::keyToValue(const char *key, bool *ok = nullptr) const

Gibt den ganzzahligen Wert der angegebenen Aufzählung key zurück, oder -1, wenn key nicht definiert ist.

Wenn key nicht definiert ist, * wirdok auf false gesetzt; andernfalls * wirdok auf true gesetzt.

Für Flag-Typen, verwenden Sie keysToValue().

Siehe auch valueToKey(), isFlag(), und keysToValue().

int QMetaEnum::keysToValue(const char *keys, bool *ok = nullptr) const

Gibt den Wert zurück, der sich aus der Kombination der Werte von keys unter Verwendung des OR-Operators ergibt, oder -1, wenn keys nicht definiert ist. Beachten Sie, dass die Zeichenketten in keys durch '|' getrennt sein müssen.

Wenn keys nicht definiert ist, * wirdok auf false gesetzt; andernfalls * wirdok auf true gesetzt.

Siehe auch isFlag(), valueToKey(), und valueToKeys().

[since 6.6] QMetaType QMetaEnum::metaType() const

Gibt den Meta-Typ der Aufzählung zurück.

Wenn die QMetaObject, zu der diese Aufzählung gehört, mit Qt 6.5 oder früher erzeugt wurde, ist dies ein ungültiger Metatyp.

Hinweis: Dies ist der Metatyp der Enum selbst, nicht der des zugrundeliegenden Integraltyps. Sie können den Metatyp des zugrundeliegenden Typs der Enum mit QMetaType::underlyingType() abrufen.

Diese Funktion wurde in Qt 6.6 eingeführt.

const char *QMetaEnum::name() const

Gibt den Namen des Typs (ohne den Bereich) zurück.

Die Aufzählung Qt::Key hat zum Beispiel Key als Typnamen und Qt als Geltungsbereich.

Bei Flags wird der Name des Flag-Typs zurückgegeben, nicht der Name des Aufzählungstyps.

Siehe auch isValid(), scope(), und enumName().

const char *QMetaEnum::scope() const

Gibt den Bereich zurück, in dem dieser Aufzähler deklariert wurde.

Zum Beispiel hat die Aufzählung Qt::AlignmentFlag Qt als Bereich und AlignmentFlag als Name.

Siehe auch name().

int QMetaEnum::value(int index) const

Liefert den Wert mit dem angegebenen index; oder gibt -1 zurück, wenn es keinen solchen Wert gibt.

Siehe auch keyCount(), key(), und keyToValue().

const char *QMetaEnum::valueToKey(int value) const

Gibt die Zeichenkette zurück, die als Name für die angegebene Aufzählung value verwendet wird, oder nullptr, wenn value nicht definiert ist.

Für Flag-Typen, verwenden Sie valueToKeys().

Siehe auch isFlag() und valueToKeys().

QByteArray QMetaEnum::valueToKeys(int value) const

Gibt ein Byte-Array mit '|'-getrennten Schlüsseln zurück, das die angegebene value repräsentiert.

Siehe auch isFlag(), valueToKey(), und keysToValue().

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