QMetaEnum Class
QMetaEnum クラスは、列挙子に関するメタデータを提供します。詳細...
ヘッダー | #include <QMetaEnum> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
パブリック関数
const char * | enumName() const |
bool | isFlag() const |
bool | isScoped() const |
bool | isValid() const |
const char * | key(int index) const |
int | keyCount() const |
int | keyToValue(const char *key, bool *ok = nullptr) const |
int | keysToValue(const char *keys, bool *ok = nullptr) const |
(since 6.6) QMetaType | metaType() const |
const char * | name() const |
const char * | scope() const |
int | value(int index) const |
const char * | valueToKey(int value) const |
QByteArray | valueToKeys(int value) const |
静的パブリックメンバー
QMetaEnum | fromType() |
詳しい説明
列挙者の名前にはname() を使用します。列挙子のキー(列挙された各項目の名前)はkey() で返される。キーの数を調べるにはkeyCount() を使用する。isFlag() は、列挙子がフラグとして使用されるかどうかを返します。つまり、列挙子の値は OR 演算子を使用して結合することができます。
変換関数keyToValue()、valueToKey()、keysToValue()、valueToKeys() を使用すると、列挙型または集合型の値の整数表現とそのリテラル表現との間で変換を行うことができます。scope() 関数は、この列挙子が宣言されたクラス・スコープを返します。
QMetaObject 、QMetaMethod 、QMetaPropertyも参照 。
メンバ関数のドキュメント
const char *QMetaEnum::enumName() const
フラグの列挙名を(スコープを除いて)返す。
例えば、Qt::AlignmentFlag フラグは、enum 名がAlignmentFlag
であるが、型名はAlignment
である。フラグ以外のenumは同じ型名とenum名を持つ。
enum名は型名と同じスコープを持つ。
[static]
template <typename T> QMetaEnum QMetaEnum::fromType()
テンプレート・パラメーターの型に対応するQMetaEnum を返す。列挙型はQ_ENUM で宣言する必要があります。
bool QMetaEnum::isFlag() const
この列挙子がフラグとして使われている場合はtrue
を返し、そうでない場合は false を返す。
フラグとして使用する場合、列挙子は OR 演算子を使用して結合することができます。
keysToValue() およびvalueToKeys()も参照 。
bool QMetaEnum::isScoped() const
この列挙子が C++11 列挙子クラスとして宣言されている場合はtrue
を返し、そうでない場合は false を返します。
bool QMetaEnum::isValid() const
この列挙型が有効(名前がある)ならtrue
を返し、そうでなければ false を返す。
name()も参照 。
const char *QMetaEnum::key(int index) const
指定されたindex を持つキー、またはそのようなキーが存在しない場合はnullptr
を返します。
keyCount()、value() およびvalueToKey()も参照 。
int QMetaEnum::keyCount() const
キーの数を返す。
key()も参照 。
int QMetaEnum::keyToValue(const char *key, bool *ok = nullptr) const
与えられた列挙値key の整数値、またはkey が定義されていない場合は -1 を返す。
key が定義されていない場合、 *ok は偽に設定され、そうでない場合 *ok は真に設定される。
フラグ型については、keysToValue()を使用する。
valueToKey()、isFlag()、keysToValue()も参照のこと 。
int QMetaEnum::keysToValue(const char *keys, bool *ok = nullptr) const
keys の値を OR 演算子で結合した値、またはkeys が定義されていない場合は -1 を返す。keys の文字列は'|'区切りでなければならないことに注意。
keys が定義されていない場合、 *ok はfalseに設定される。そうでない場合、 *ok はtrueに設定される。
isFlag()、valueToKey()、valueToKeys()も参照のこと 。
[since 6.6]
QMetaType QMetaEnum::metaType() const
列挙型のメタ型を返します。
このenumの一部であるQMetaObject がQt 6.5以前で生成された場合、これは無効なメタ型になります。
注: これはenum自体のメタ型であり、その下にある積分型のメタ型ではありません。enumの基礎となる型のメタ型を取得するには、QMetaType::underlyingType ()を使用します。
この関数はQt 6.6で導入されました。
const char *QMetaEnum::name() const
スコープを除いた)型名を返す。
例えば、Qt::Key 列挙型の場合、Key
が型名、Qt がスコープとなる。
フラグの場合は、列挙型の名前ではなくフラグ型の名前を返します。
isValid()、scope()、enumName()も参照のこと 。
const char *QMetaEnum::scope() const
この列挙子が宣言されたスコープを返す。
たとえば、Qt::AlignmentFlag 列挙体のスコープはQt
で、名前はAlignmentFlag
です。
name()も参照 。
int QMetaEnum::value(int index) const
指定されたindex; を持つ値を返すか、そのような値がない場合は -1 を返す。
keyCount()、key()、keyToValue()も参照 。
const char *QMetaEnum::valueToKey(int value) const
指定された列挙型の名前として使用される文字列value 、またはvalue が定義されていない場合はnullptr
を返す。
フラグ型の場合はvalueToKeys() を使用します。
isFlag() およびvalueToKeys()も参照 。
QByteArray QMetaEnum::valueToKeys(int value) const
与えられたvalue を表す、'|'で区切られたキーのバイト配列を返す。
isFlag()、valueToKey() およびkeysToValue()も参照 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.