Spec-Zone.ru › Qt 6.1

Класс QMetaEnum

Класс QMetaEnum предоставляет метаданные об перечислении. Подробнее...

Заголовок: #include <QMetaEnum>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED) 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
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() возвращает true, если перечисление предназначено для использования как флаг, что означает, что его значения могут быть объединены с помощью оператора ИЛИ.

Функции преобразования keyToValue(), valueToKey(), keysToValue() и valueToKeys() позволяют преобразовывать между целочисленным представлением значения перечисления или набора значений и его буквенным представлением. Функция scope() возвращает область видимости класса, в котором было объявлено это перечисление.

См. также QMetaObject, QMetaMethod и QMetaProperty.

Документация по членам-функциям

[since 5.12] const char *QMetaEnum::enumName() const

Возвращает имя перечисления флага (без области видимости).

Например, флаг Qt::AlignmentFlag имеет AlignmentFlag в качестве имени перечисления, но Alignment в качестве имени типа. Перечисления, не являющиеся флагами, имеют одинаковые имена типа и перечисления.

Имена перечислений имеют ту же область видимости, что и имя типа.

Эта функция была введена в Qt 5.12.

См. также isValid() и name().

[static, since 5.5] template <typename T> QMetaEnum QMetaEnum::fromType()

Возвращает QMetaEnum, соответствующий типу в параметре шаблона. Перечисление должно быть объявлено с помощью Q_ENUM.

Эта функция была введена в Qt 5.5.

bool QMetaEnum::isFlag() const

Возвращает true true, если это перечисление используется как флаг, в противном случае возвращает false.

При использовании как флаги, перечисления могут быть объединены с помощью оператора ИЛИ.

См. также keysToValue() и valueToKeys().

[since 5.8] bool QMetaEnum::isScoped() const

Возвращает true true, если это перечисление объявлено как C++11 enum class; в противном случае возвращает false.

Эта функция была введена в Qt 5.8.

bool QMetaEnum::isValid() const

Возвращает true true, если это перечисление является допустимым (имеет имя); в противном случае возвращает false.

См. также name().

const char *QMetaEnum::key(int index) const

Возвращает ключ с заданным index, или nullptr nullptr, если такого ключа не существует.

См. также keyCount(), value() и valueToKey().

int QMetaEnum::keyCount() const

Возвращает количество ключей.

См. также key().

int QMetaEnum::keyToValue(const char *key, bool *ok = nullptr) const

Возвращает целочисленное значение заданного ключа перечисления key или -1, если key не определен.

Если key не определен, *ok устанавливается в false; в противном случае *ok устанавливается в true.

Для типов флагов используйте keysToValue().

См. также valueToKey(), isFlag() и keysToValue().

int QMetaEnum::keysToValue(const char *keys, bool *ok = nullptr) const

Возвращает значение, полученное путем объединения значений ключей keys с помощью оператора ИЛИ, или -1, если keys не определен. Обратите внимание, что строки в keys должны быть разделены символом '|'.

Если keys не определен, *ok устанавливается в false; в противном случае *ok устанавливается в true.

См. также isFlag(), valueToKey() и valueToKeys().

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, или nullptr nullptr, если value не определено.

Для типов флагов используйте valueToKeys().

См. также isFlag() и valueToKeys().

QByteArray QMetaEnum::valueToKeys(int value) const

Возвращает массив байтов с '|'-разделенными ключами, представляющий заданное значение value.

См. также isFlag(), valueToKey() и keysToValue().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qmetaenum.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API