QMetaEnum Class

QMetaEnum クラスは、列挙子に関するメタデータを提供します。詳細...

Header: #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() 関数は、この列挙子が宣言されたクラス・スコープを返します。

QMetaObjectQMetaMethodQMetaPropertyも参照

メンバ関数ドキュメント

const char *QMetaEnum::enumName() const

フラグの列挙名を返します(スコープは含みません)。

例えば、Qt::AlignmentFlag フラグは、AlignmentFlag が列挙名ですが、Alignment が型名です。フラグ以外の列挙型は、同じ型名と列挙型名を持つ。

enum名は型名と同じスコープを持つ。

isValid() およびname()も参照のこと

[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

列挙型のメタ型を返す。

この列挙型の一部である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()も参照して ください。

©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。