我有QMap
这样:
QVariantMap dictionary;
dictionary.insert("name", KeywordType::name);
但是当我尝试将name
键的值检索为枚举KeywordType
类型,即KeywordType::name
时,它返回none(KeywordType
枚举中为零):
qDebug() << dictionary["name"].value<KeywordType>();
我该如何解决这个问题?
枚举类型已注册到moc,它使用:
Q_ENUM(KeywordType)
Q_DECLARE_METATYPE(keywords::KeywordType)
和
qRegisterMetaType<KeywordType>("KeywordType");
要知道有类型的:
typedef keywords::KeywordType KeywordType;
答案 0 :(得分:0)
也许您应该name
获得keywords::name
价值?如果KeywordType
是枚举,则它不是命名空间或类。
答案 1 :(得分:0)
我没有找到为什么这不能用我的枚举,所以我不得不这样做:
static_cast<KeywordType>(dictionary["name"].value<int>())