举例:
enum T { A,B,C,D };
Q_ENUM(T)
cpp中:
#include <QMetaEnum>
QMetaObject mo = xx::staticMetaObject;
int index = mo.indexOfEnumerator("T");
QMetaEnum metaEnum = mo.enumerator(index);
or
QMetaEnum metaEnum = QMetaEnum::fromType<xx::T>();
{
qDebug() << metaEnum.key(i);
}
qDebug()<< metaEnum.valueToKey(A); // enum转string
qDebug()<< metaEnum.keysToValue("A"); // string转enum