QMetaEnum 类提供有关枚举器的元数据。 更多...
头: | #include <QMetaEnum> |
CMake: |
find_package(Qt6 COMPONENTS Core REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
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 |
const char * | name () const |
const char * | scope () const |
int | value (int index ) const |
const char * | valueToKey (int value ) const |
QByteArray | valueToKeys (int value ) const |
QMetaEnum | fromType () |
使用 name () for the enumerator's name. The enumerator's keys (names of each enumerated item) are returned by key ();使用 keyCount () 能查找按键数。 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 (),和 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.
另请参阅 QMetaObject , QMetaMethod ,和 QMetaProperty .
[since 5.12]
const
char
*QMetaEnum::
enumName
() const
返回标志的枚举名称 (在作用域外)。
例如,
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.
该函数在 Qt 5.12 引入。
[static, since 5.5]
template <typename T>
QMetaEnum
QMetaEnum::
fromType
()
返回 QMetaEnum corresponding to the type in the template parameter. The enum needs to be declared with Q_ENUM .
该函数在 Qt 5.5 引入。
返回
true
若此枚举器被用作标志;否则返回 false。
When used as flags, enumerators can be combined using the OR operator.
另请参阅 keysToValue () 和 valueToKeys ().
[since 5.8]
bool
QMetaEnum::
isScoped
() const
返回
true
if this enumerator is declared as a C++11 enum class; otherwise returns false.
该函数在 Qt 5.8 引入。
返回
true
if this enum is valid (has a name); otherwise returns false.
另请参阅 name ().
Returns the key with the given
index
,或
nullptr
if no such key exists.
另请参阅 keyCount (), value (),和 valueToKey ().
返回按键数。
另请参阅 key ().
Returns the integer value of the given enumeration key ,或 -1 若 key is not defined.
若 key is not defined, * ok is set to false; otherwise * ok is set to true.
For flag types, use keysToValue ().
另请参阅 valueToKey (), isFlag (),和 keysToValue ().
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.
若 keys is not defined, * ok is set to false; otherwise * ok is set to true.
另请参阅 isFlag (), valueToKey (),和 valueToKeys ().
Returns the name of the type (without the scope).
例如,
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.
另请参阅 isValid (), scope (),和 enumName ().
Returns the scope this enumerator was declared in.
例如,
Qt::AlignmentFlag
enumeration has
Qt
as the scope and
AlignmentFlag
as the name.
另请参阅 name ().
Returns the value with the given index ; or returns -1 if there is no such value.
另请参阅 keyCount (), key (),和 keyToValue ().
Returns the string that is used as the name of the given enumeration
value
,或
nullptr
if
value
is not defined.
For flag types, use valueToKeys ().
另请参阅 isFlag () 和 valueToKeys ().
Returns a byte array of '|'-separated keys that represents the given value .
另请参阅 isFlag (), valueToKey (),和 keysToValue ().