0

私はQMapこのようなものを持っています:

QVariantMap dictionary;
dictionary.insert("name", KeywordType::name);

しかし、nameキーの値を列挙型として取得しようとすると、何も返されません (列挙KeywordType型ではKeywordType::nameゼロですKeywordType):

  qDebug() << dictionary["name"].value<KeywordType>();

これを修正するにはどうすればよいですか?

列挙型は moc に登録されており、次を使用します。

Q_ENUM(KeywordType)
Q_DECLARE_METATYPE(keywords::KeywordType)

 qRegisterMetaType<KeywordType>("KeywordType");

入力されたものを知るために:

typedef keywords::KeywordType KeywordType;
4

2 に答える 2

0

多分あなたはname値を取得する必要がありますkeywords::nameか?が列挙型の場合KeywordType、名前空間またはクラスではありません。

于 2015-10-19T10:23:55.017 に答える