QMetaEnum 类

QMetaEnum class provides meta-data about an enumerator. 更多...

头: #include <QMetaEnum>
qmake: QT += core

公共函数

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 = Q_NULLPTR) const
int keysToValue (const char * keys , bool * ok = Q_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 ()

详细描述

QMetaEnum class provides meta-data about an enumerator.

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

成员函数文档编制

[static] QMetaEnum QMetaEnum:: fromType ()

返回 QMetaEnum corresponding to the type in the template parameter. The enum needs to be declared with Q_ENUM .

该函数在 Qt 5.5 引入。

bool QMetaEnum:: isFlag () const

返回 true if this enumerator is used as a flag; otherwise returns false.

When used as flags, enumerators can be combined using the OR operator.

另请参阅 keysToValue () 和 valueToKeys ().

bool QMetaEnum:: isScoped () const

返回 true if this enumerator is declared as a C++11 enum class; otherwise returns false.

该函数在 Qt 5.8 引入。

bool QMetaEnum:: isValid () const

返回 true if this enum is valid (has a name); otherwise returns false.

另请参阅 name ().

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

Returns the key with the given index , or 0 if no such key exists.

另请参阅 keyCount (), value (),和 valueToKey ().

int QMetaEnum:: keyCount () const

返回键数。

另请参阅 key ().

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

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

int QMetaEnum:: keysToValue (const char * keys , bool * ok = Q_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.

keys is not defined, * ok is set to false; otherwise * ok is set to true.

另请参阅 isFlag (), valueToKey (),和 valueToKeys ().

const char *QMetaEnum:: name () const

Returns the name of the enumerator (without the scope).

例如, Qt::AlignmentFlag enumeration has AlignmentFlag as the name and Qt as the scope.

另请参阅 isValid () 和 scope ().

const char *QMetaEnum:: scope () const

Returns the scope this enumerator was declared in.

例如, Qt::AlignmentFlag enumeration has Qt as the scope and AlignmentFlag as the name.

另请参阅 name ().

int QMetaEnum:: value ( int index ) const

Returns the value with the given index ; or returns -1 if there is no such value.

另请参阅 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 0 if value is not defined.

For flag types, use valueToKeys ().

另请参阅 isFlag () 和 valueToKeys ().

QByteArray QMetaEnum:: valueToKeys ( int value ) const

Returns a byte array of '|'-separated keys that represents the given value .

另请参阅 isFlag (), valueToKey (),和 keysToValue ().