Q_ENUM
およびの使用例を複数見つけQ_ENUMS
、 の定義を調べたところ、および その他の定義Q_ENUM
が含まれていることがわかりました。Q_ENUMS
Q_PROPERTY
Qml/QtQuick、シグナル/スロット、QVariants、qDebug()
出力で列挙型を使用する場合、どれを記述すればよいかわかりません。
Q_ENUM
は を使用して定義されているので、より良いもののように思えますQ_ENUMS
が、ここでは推測しているだけです。
違いは正確には何なのでしょうか、なぜ 2 つあるのでしょうか、どちらを優先すべきでしょうか?
ベストアンサー1
のQt 5.5 の新機能言う:
Q_ENUMS の代わりに Q_ENUM を追加しました。これにより、コンパイル時に QMetaEnum::fromType を使用して QMetaEnum を取得できるようになりました。このような列挙型はメタタイプとして自動的に登録され、QVariant 内で文字列に変換したり、qDebug() によって文字列として印刷したりできるようになりました。