Spec-Zone.ru › Qt 5.12

Класс QMetaEnum

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

Заголовок: #include <QMetaEnum>
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()

Подробное описание

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

Используйте name() для имени перечисления. Ключи перечисления (имена каждого элемента перечисления) возвращаются функцией key(); используйте keyCount() для получения количества ключей. isFlag() возвращает true, если перечисление предназначено для использования в качестве флага, что означает, что его значения можно комбинировать с помощью оператора OR.

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

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

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

const char *QMetaEnum::enumName() const

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

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

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

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

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

[static] QMetaEnum QMetaEnum::fromType()

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

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

bool QMetaEnum::isFlag() const

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

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

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

bool QMetaEnum::isScoped() const

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

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

bool QMetaEnum::isValid() const

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

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

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

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

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

int QMetaEnum::keyCount() const

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

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

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

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

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

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

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

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

Возвращает значение, полученное путём объединения значений ключей keys с помощью оператора OR, или -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, или 0, если 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-5.12/qmetaenum.html

Spec-Zone.ru

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