本文整理汇总了C++中QMetaEnum::valueToKeys方法的典型用法代码示例。如果您正苦于以下问题:C++ QMetaEnum::valueToKeys方法的具体用法?C++ QMetaEnum::valueToKeys怎么用?C++ QMetaEnum::valueToKeys使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QMetaEnum
的用法示例。
在下文中一共展示了QMetaEnum::valueToKeys方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: enumToString
QString Util::enumToString(const QVariant &value, const char *typeName, const QObject *object)
{
QByteArray enumTypeName(typeName);
if (enumTypeName.isEmpty()) {
enumTypeName = value.typeName();
}
// strip of class name and namespace
const int pos = enumTypeName.lastIndexOf("::");
if (pos >= 0) {
enumTypeName = enumTypeName.mid(pos + 2);
}
const QMetaObject *mo = &ProtectedExposer::staticQtMetaObject;
int enumIndex = mo->indexOfEnumerator(enumTypeName);
if (enumIndex < 0 && object) {
mo = object->metaObject();
enumIndex = mo->indexOfEnumerator(enumTypeName);
}
if (enumIndex < 0) {
return QString();
}
const QMetaEnum me = mo->enumerator(enumIndex);
if (!me.isValid()) {
return QString();
}
return me.valueToKeys(value.toInt());
}
示例2: flagsToString
QString Db::flagsToString(Db::Flags flags)
{
int idx = staticMetaObject.indexOfEnumerator("Flag");
if (idx == -1)
return QString::null;
QMetaEnum en = staticMetaObject.enumerator(idx);
return en.valueToKeys(static_cast<int>(flags));
}