Класс QOpenGLDebugMessage
Класс QOpenGLDebugMessage оборачивает сообщение об ошибке OpenGL. Подробнее...
| Заголовок: | #include <QOpenGLDebugMessage> |
| qmake: | QT += gui |
| С момента: | Qt 5.1 |
Этот класс был представлен в Qt 5.1.
Примечание: Все функции в этом классе являются повторно входящими.
Типы публичного доступа
| флаги | Уровни серьезности |
| перечисление | УровеньСерьезности { НеверныйУровень, ВысокийУровень, СреднийУровень, НизкийУровень, Уведомление, ЛюбойУровень } |
| перечисление | Источник { НеверныйИсточник, ИсточникAPI, ИсточникСистемыОкон, ИсточникКомпилятораТеней, ИсточникТретьейСтороны, …, ЛюбойИсточник } |
| флаги | Источники |
| перечисление | Тип { НеверныйТип, Ошибка, УстаревшийТипПоведения, НеопределённоеПоведение, Совместимость, …, ЛюбойТип } |
| флаги | Типы |
Функции публичного доступа
| QOpenGLDebugMessage(const QOpenGLDebugMessage &debugMessage) | |
| QOpenGLDebugMessage() | |
| QOpenGLDebugMessage & | operator=(QOpenGLDebugMessage &&debugMessage) |
| QOpenGLDebugMessage & | operator=(const QOpenGLDebugMessage &debugMessage) |
| ~QOpenGLDebugMessage() | |
| GLuint | id() const |
| QString | message() const |
| QOpenGLDebugMessage::УровеньСерьезности | severity() const |
| QOpenGLDebugMessage::Источник | source() const |
| void | swap(QOpenGLDebugMessage &debugMessage) |
| QOpenGLDebugMessage::Тип | type() const |
| bool | operator!=(const QOpenGLDebugMessage &debugMessage) const |
| bool | operator==(const QOpenGLDebugMessage &debugMessage) const |
Статические публичные члены
| QOpenGLDebugMessage | createApplicationMessage(const QString &text, GLuint id = 0, QOpenGLDebugMessage::УровеньСерьезности severity = NotificationSeverity, QOpenGLDebugMessage::Тип type = ДругойТип) |
| QOpenGLDebugMessage | createThirdPartyMessage(const QString &text, GLuint id = 0, QOpenGLDebugMessage::УровеньСерьезности severity = NotificationSeverity, QOpenGLDebugMessage::Тип type = ДругойТип) |
Связанные нечлены
| QDebug | operator<<(QDebug debug, QOpenGLDebugMessage::Источник source) |
| QDebug | operator<<(QDebug debug, QOpenGLDebugMessage::Тип type) |
| QDebug | operator<<(QDebug debug, QOpenGLDebugMessage::УровеньСерьезности severity) |
| QDebug | operator<<(QDebug debug, const QOpenGLDebugMessage &message) |
Подробное описание
Сообщения об ошибках обычно создаются сервером OpenGL и затем считываются клиентами OpenGL (либо из внутреннего журнала отладки OpenGL, либо в режиме реального времени). Сообщение об ошибке содержит текстовое представление, уникальный числовой идентификатор поставщика, источник, тип и уровень серьезности.
Также приложения или сторонние библиотеки и инструментальные средства могут создавать и вставлять сообщения в журнал отладки. Для этого можно использовать статические функции createApplicationMessage() или createThirdPartyMessage().
См. также QOpenGLDebugLogger.
Документация по типу членов
перечисление QOpenGLDebugMessage::УровеньСерьезностифлаги QOpenGLDebugMessage::Уровни серьезности
Перечисление Severity определяет уровень серьезности сообщения об ошибке.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLDebugMessage::InvalidSeverity |
0x00000000 |
Уровень серьезности сообщения некорректен; это уровень серьезности объекта QOpenGLDebugMessage, созданного по умолчанию. |
QOpenGLDebugMessage::HighSeverity |
0x00000001 |
Сообщение имеет высокий уровень серьезности. |
QOpenGLDebugMessage::MediumSeverity |
0x00000002 |
Сообщение имеет средний уровень серьезности. |
QOpenGLDebugMessage::LowSeverity |
0x00000004 |
Сообщение имеет низкий уровень серьезности. |
QOpenGLDebugMessage::NotificationSeverity |
0x00000008 |
Сообщение является уведомлением. |
QOpenGLDebugMessage::AnySeverity |
0xffffffff |
Это значение соответствует маске всех возможных уровней серьезности сообщений. |
Тип Severities — это псевдоним для QFlags<Severity>. Он хранит логическое ИЛИ сочетание значений Severity.
перечисление QOpenGLDebugMessage::Источникфлаги QOpenGLDebugMessage::Источники
Перечисление Source определяет источник сообщения об ошибке.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLDebugMessage::InvalidSource |
0x00000000 |
Источник сообщения некорректен; это источник объекта QOpenGLDebugMessage, созданного по умолчанию. |
QOpenGLDebugMessage::APISource |
0x00000001 |
Сообщение было сгенерировано в ответ на вызовы API OpenGL. |
QOpenGLDebugMessage::WindowSystemSource |
0x00000002 |
Сообщение было сгенерировано системой окон. |
QOpenGLDebugMessage::ShaderCompilerSource |
0x00000004 |
Сообщение было сгенерировано компилятором теней. |
QOpenGLDebugMessage::ThirdPartySource |
0x00000008 |
Сообщение было сгенерировано третьей стороной, например, фреймворком OpenGL или инструментом отладки. |
QOpenGLDebugMessage::ApplicationSource |
0x00000010 |
Сообщение было сгенерировано самим приложением. |
QOpenGLDebugMessage::OtherSource |
0x00000020 |
Сообщение было сгенерировано источником, не включённым в это перечисление. |
QOpenGLDebugMessage::AnySource |
0xffffffff |
Это значение соответствует маске всех возможных источников сообщений. |
Тип Sources — это псевдоним для QFlags<Source>. Он хранит логическое ИЛИ сочетание значений Source.
enum QOpenGLDebugMessage::Typeфлаги QOpenGLDebugMessage::Types
Перечисление Type определяет тип отладочного сообщения.
| Константа | Значение | Описание |
|---|---|---|
QOpenGLDebugMessage::InvalidType |
0x00000000 |
Тип сообщения недействителен; это тип объекта QOpenGLDebugMessage, созданного по умолчанию. |
QOpenGLDebugMessage::ErrorType |
0x00000001 |
Сообщение представляет собой ошибку. |
QOpenGLDebugMessage::DeprecatedBehaviorType |
0x00000002 |
Сообщение представляет собой использование устаревшего поведения. |
QOpenGLDebugMessage::UndefinedBehaviorType |
0x00000004 |
Сообщение представляет собой использование неопределенного поведения. |
QOpenGLDebugMessage::PortabilityType |
0x00000008 |
Сообщение представляет собой использование поведения, специфичного для поставщика, которое может вызвать проблемы с переносимостью. |
QOpenGLDebugMessage::PerformanceType |
0x00000010 |
Сообщение представляет собой проблему производительности. |
QOpenGLDebugMessage::OtherType |
0x00000020 |
Сообщение представляет собой тип, не включённый в это перечисление. |
QOpenGLDebugMessage::MarkerType |
0x00000040 |
Сообщение представляет собой маркер в журнале отладки. |
QOpenGLDebugMessage::GroupPushType |
0x00000080 |
Сообщение представляет собой операцию открытия группы отладки. |
QOpenGLDebugMessage::GroupPopType |
0x00000100 |
Сообщение представляет собой операцию закрытия группы отладки. |
QOpenGLDebugMessage::AnyType |
0xffffffff |
Это значение соответствует маске всех возможных типов сообщений. |
Тип Types — это псевдоним для QFlags<Type>. Он хранит логическое ИЛИ сочетание значений Type.
Документация по функциям-членам
QOpenGLDebugMessage::QOpenGLDebugMessage(const QOpenGLDebugMessage &debugMessage)
Конструирует сообщение отладки как копию debugMessage.
См. также operator=().
QOpenGLDebugMessage::QOpenGLDebugMessage()
Конструирует сообщение отладки с пустой строкой сообщения, id, установленным в 0, источником, установленным в InvalidSource, типом, установленным в InvalidType, и уровнем серьезности, установленным в InvalidSeverity.
Примечание: Этот конструктор не должен использоваться для создания сообщения отладки; вместо этого используйте статические функции createApplicationMessage() или createThirdPartyMessage().
См. также createApplicationMessage() и createThirdPartyMessage().
QOpenGLDebugMessage &QOpenGLDebugMessage::operator=(QOpenGLDebugMessage &&debugMessage)
Перемещающее присваивание debugMessage этому объекту.
QOpenGLDebugMessage &QOpenGLDebugMessage::operator=(const QOpenGLDebugMessage &debugMessage)
Присваивает сообщение debugMessage этому объекту и возвращает ссылку на копию.
QOpenGLDebugMessage::~QOpenGLDebugMessage()
Удаляет это сообщение отладки.
[static] QOpenGLDebugMessage QOpenGLDebugMessage::createApplicationMessage(const QString &text, GLuint id = 0, QOpenGLDebugMessage::Severity severity = NotificationSeverity, QOpenGLDebugMessage::Type type = OtherType)
Конструирует и возвращает сообщение отладки с text в качестве текста, id в качестве id, severity в качестве уровня серьезности и type в качестве типа. Источник сообщения будет установлен в ApplicationSource.
См. также QOpenGLDebugLogger::logMessage() и createThirdPartyMessage().
[static] QOpenGLDebugMessage QOpenGLDebugMessage::createThirdPartyMessage(const QString &text, GLuint id = 0, QOpenGLDebugMessage::Severity severity = NotificationSeverity, QOpenGLDebugMessage::Type type = OtherType)
Конструирует и возвращает сообщение отладки с text в качестве текста, id в качестве id, severity в качестве уровня серьезности и type в качестве типа. Источник сообщения будет установлен в ThirdPartySource.
См. также QOpenGLDebugLogger::logMessage() и createApplicationMessage().
GLuint QOpenGLDebugMessage::id() const
Возвращает id сообщения отладки. Ids, как правило, зависят от поставщика.
QString QOpenGLDebugMessage::message() const
Возвращает текстовое сообщение, содержащееся в этом сообщении отладки.
QOpenGLDebugMessage::Severity QOpenGLDebugMessage::severity() const
Возвращает уровень серьезности сообщения отладки.
QOpenGLDebugMessage::Source QOpenGLDebugMessage::source() const
Возвращает источник сообщения отладки.
void QOpenGLDebugMessage::swap(QOpenGLDebugMessage &debugMessage)
Меняет местами сообщение debugMessage с этим сообщением. Эта операция очень быстрая и никогда не завершается ошибкой.
QOpenGLDebugMessage::Type QOpenGLDebugMessage::type() const
Возвращает тип сообщения отладки.
bool QOpenGLDebugMessage::operator!=(const QOpenGLDebugMessage &debugMessage) const
Возвращает true, если это сообщение отличается от debugMessage, или false в противном случае.
См. также operator==().
bool QOpenGLDebugMessage::operator==(const QOpenGLDebugMessage &debugMessage) const
Возвращает true, если это сообщение отладки равно debugMessage, или false в противном случае. Два сообщения отладки равны, если у них одинаковое текстовое сообщение, одинаковый id, одинаковый источник, одинаковый тип и одинаковый уровень серьезности.
См. также operator!=().
Документация по внешним функциям
QDebug operator<<(QDebug debug, QOpenGLDebugMessage::Source source)
Записывает источник source в объект отладки debug для целей отладки.
QDebug operator<<(QDebug debug, QOpenGLDebugMessage::Type type)
Записывает тип type в объект отладки debug для целей отладки.
QDebug operator<<(QDebug debug, QOpenGLDebugMessage::Severity severity)
Записывает уровень серьезности severity в объект отладки debug для целей отладки.
QDebug operator<<(QDebug debug, const QOpenGLDebugMessage &message)
Записывает сообщение message в объект отладки debug для целей отладки.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qopengldebugmessage.html