QMetaEnum Class▲
-
Header: QMetaEnum
-
CMake:
find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
-
qmake: QT += core
-
Group: QMetaEnum is part of objectmodel
Detailed Description▲
Use name() for the enumerator's name. The enumerator's keys (names of each enumerated item) are returned by key(); use keyCount() to find the number of keys. isFlag() returns whether the enumerator is meant to be used as a flag, meaning that its values can be combined using the OR operator.
The conversion functions keyToValue(), valueToKey(), keysToValue(), and valueToKeys() allow conversion between the integer representation of an enumeration or set value and its literal representation. The scope() function returns the class scope this enumerator was declared in.
See Also▲
See also QMetaObject, QMetaMethod, QMetaProperty
Member Function Documentation▲
[since 5.12] const char *QMetaEnum::enumName() const▲
Returns the enum name of the flag (without the scope).
For example, the Qt::AlignmentFlag flag has AlignmentFlag as the enum name, but Alignment as as the type name. Non flag enums has the same type and enum names.
Enum names have the same scope as the type name.
This function was introduced in Qt 5.12.
See Also▲
[static, since 5.5] QMetaEnum QMetaEnum::fromType()▲
Returns the QMetaEnum corresponding to the type in the template parameter. The enum needs to be declared with Q_ENUM.
This function was introduced in Qt 5.5.
bool QMetaEnum::isFlag() const▲
Returns true if this enumerator is used as a flag; otherwise returns false.
When used as flags, enumerators can be combined using the OR operator.
See Also▲
See also keysToValue(), valueToKeys()
[since 5.8] bool QMetaEnum::isScoped() const▲
Returns true if this enumerator is declared as a C++11 enum class; otherwise returns false.
This function was introduced in Qt 5.8.
bool QMetaEnum::isValid() const▲
const char *QMetaEnum::key(int index) const▲
Returns the key with the given index, or nullptr if no such key exists.
See Also▲
See also keyCount(), value(), valueToKey()
int QMetaEnum::keyCount() const▲
int QMetaEnum::keyToValue(const char *key, bool *ok = nullptr) const▲
Returns the integer value of the given enumeration key, or -1 if key is not defined.
If key is not defined, *ok is set to false; otherwise *ok is set to true.
For flag types, use keysToValue().
See Also▲
See also valueToKey(), isFlag(), keysToValue()
int QMetaEnum::keysToValue(const char *keys, bool *ok = nullptr) const▲
Returns the value derived from combining together the values of the keys using the OR operator, or -1 if keys is not defined. Note that the strings in keys must be '|'-separated.
If keys is not defined, *ok is set to false; otherwise *ok is set to true.
See Also▲
See also isFlag(), valueToKey(), valueToKeys()
const char *QMetaEnum::name() const▲
Returns the name of the type (without the scope).
For example, the Qt::Key enumeration has Key as the type name and Qt as the scope.
For flags this returns the name of the flag type, not the name of the enum type.
See Also▲
const char *QMetaEnum::scope() const▲
Returns the scope this enumerator was declared in.
For example, the Qt::AlignmentFlag enumeration has Qt as the scope and AlignmentFlag as the name.
See Also▲
See also name()
int QMetaEnum::value(int index) const▲
Returns the value with the given index; or returns -1 if there is no such value.
See Also▲
See also keyCount(), key(), keyToValue()
const char *QMetaEnum::valueToKey(int value) const▲
Returns the string that is used as the name of the given enumeration value, or nullptr if value is not defined.
For flag types, use valueToKeys().
See Also▲
See also isFlag(), valueToKeys()
QByteArray QMetaEnum::valueToKeys(int value) const▲
Returns a byte array of '|'-separated keys that represents the given value.
See Also▲
See also isFlag(), valueToKey(), keysToValue()