Класс 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.
[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
Возвращает ключ с заданным индексом; или 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
Возвращает значение с заданным индексом; или -1, если такого значения нет.
См. также keyCount(), key() и keyToValue().
const char *QMetaEnum::valueToKey(int value) const
Возвращает строку, используемую в качестве имени заданного значения перечисления value, или 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.0/qmetaenum.html