QOpenGLDebugMessage Class

Die Klasse QOpenGLDebugMessage umhüllt eine OpenGL-Debug-Meldung. Mehr...

Kopfzeile: #include <QOpenGLDebugMessage>
CMake: find_package(Qt6 REQUIRED COMPONENTS OpenGL)
target_link_libraries(mytarget PRIVATE Qt6::OpenGL)
qmake: QT += opengl

Hinweis: Alle Funktionen in dieser Klasse sind reentrant.

Öffentliche Typen

flags Severities
enum Severity { InvalidSeverity, HighSeverity, MediumSeverity, LowSeverity, NotificationSeverity, AnySeverity }
enum Source { InvalidSource, APISource, WindowSystemSource, ShaderCompilerSource, ThirdPartySource, …, AnySource }
flags Sources
enum Type { InvalidType, ErrorType, DeprecatedBehaviorType, UndefinedBehaviorType, PortabilityType, …, AnyType }
flags Types

Öffentliche Funktionen

QOpenGLDebugMessage()
QOpenGLDebugMessage(const QOpenGLDebugMessage &debugMessage)
~QOpenGLDebugMessage()
GLuint id() const
QString message() const
QOpenGLDebugMessage::Severity severity() const
QOpenGLDebugMessage::Source source() const
void swap(QOpenGLDebugMessage &other)
QOpenGLDebugMessage::Type type() const
bool operator!=(const QOpenGLDebugMessage &debugMessage) const
QOpenGLDebugMessage &operator=(QOpenGLDebugMessage &&debugMessage)
QOpenGLDebugMessage &operator=(const QOpenGLDebugMessage &debugMessage)
bool operator==(const QOpenGLDebugMessage &debugMessage) const

Statische öffentliche Mitglieder

QOpenGLDebugMessage createApplicationMessage(const QString &text, GLuint id = 0, QOpenGLDebugMessage::Severity severity = NotificationSeverity, QOpenGLDebugMessage::Type type = OtherType)
QOpenGLDebugMessage createThirdPartyMessage(const QString &text, GLuint id = 0, QOpenGLDebugMessage::Severity severity = NotificationSeverity, QOpenGLDebugMessage::Type type = OtherType)
QDebug operator<<(QDebug debug, QOpenGLDebugMessage::Severity severity)
QDebug operator<<(QDebug debug, QOpenGLDebugMessage::Source source)
QDebug operator<<(QDebug debug, QOpenGLDebugMessage::Type type)
QDebug operator<<(QDebug debug, const QOpenGLDebugMessage &message)

Detaillierte Beschreibung

Debug-Meldungen werden normalerweise vom OpenGL-Server erstellt und dann von OpenGL-Clients gelesen (entweder aus dem OpenGL-internen Debug-Protokoll oder in Echtzeit protokolliert). Eine Debug-Meldung hat eine textuelle Darstellung, eine herstellerspezifische numerische ID, eine Quelle, einen Typ und einen Schweregrad.

Es ist auch möglich, dass Anwendungen oder Bibliotheken und Toolkits von Drittanbietern Meldungen erstellen und in das Debug-Protokoll einfügen. Dazu können Sie die statischen Funktionen createApplicationMessage() oder createThirdPartyMessage() verwenden.

Siehe auch QOpenGLDebugLogger.

Dokumentation der Mitgliedstypen

enum QOpenGLDebugMessage::Severity
flags QOpenGLDebugMessage::Severities

Das Enum Severity definiert den Schweregrad der Debug-Meldung.

KonstanteWertBeschreibung
QOpenGLDebugMessage::InvalidSeverity0x00000000Der Schweregrad der Nachricht ist ungültig; dies ist der Schweregrad eines standardmäßig konstruierten QOpenGLDebugMessage Objekts.
QOpenGLDebugMessage::HighSeverity0x00000001Die Meldung hat einen hohen Schweregrad.
QOpenGLDebugMessage::MediumSeverity0x00000002Die Nachricht hat einen mittleren Schweregrad.
QOpenGLDebugMessage::LowSeverity0x00000004Die Nachricht hat einen niedrigen Schweregrad.
QOpenGLDebugMessage::NotificationSeverity0x00000008Bei der Nachricht handelt es sich um eine Benachrichtigung.
QOpenGLDebugMessage::AnySeverity0xffffffffDieser Wert entspricht einer Maske aller möglichen Meldungsschweregrade.

Der Typ Severities ist ein Typedef für QFlags<Severity>. Er speichert eine ODER-Kombination von Severity-Werten.

enum QOpenGLDebugMessage::Source
flags QOpenGLDebugMessage::Sources

Das Source-Enum definiert die Quelle der Debug-Meldung.

KonstanteWertBeschreibung
QOpenGLDebugMessage::InvalidSource0x00000000Die Quelle der Nachricht ist ungültig; dies ist die Quelle eines standardmäßig konstruierten QOpenGLDebugMessage Objekts.
QOpenGLDebugMessage::APISource0x00000001Die Meldung wurde als Antwort auf OpenGL-API-Aufrufe erzeugt.
QOpenGLDebugMessage::WindowSystemSource0x00000002Die Meldung wurde vom Fenstersystem generiert.
QOpenGLDebugMessage::ShaderCompilerSource0x00000004Die Meldung wurde vom Shader-Compiler generiert.
QOpenGLDebugMessage::ThirdPartySource0x00000008Die Nachricht wurde von einer dritten Partei generiert, zum Beispiel von einem OpenGL-Framework oder einem Debugging-Toolkit.
QOpenGLDebugMessage::ApplicationSource0x00000010Die Meldung wurde von der Anwendung selbst generiert.
QOpenGLDebugMessage::OtherSource0x00000020Die Nachricht wurde von einer Quelle erzeugt, die nicht in dieser Aufzählung enthalten ist.
QOpenGLDebugMessage::AnySource0xffffffffDieser Wert entspricht einer Maske aller möglichen Nachrichtenquellen.

Der Typ Sources ist ein Typedef für QFlags<Source>. Er speichert eine ODER-Kombination von Source-Werten.

enum QOpenGLDebugMessage::Type
flags QOpenGLDebugMessage::Types

Die Aufzählung Type definiert den Typ der Debug-Meldung.

KonstanteWertBeschreibung
QOpenGLDebugMessage::InvalidType0x00000000Der Typ der Nachricht ist ungültig; dies ist der Typ eines standardmäßig konstruierten QOpenGLDebugMessage Objekts.
QOpenGLDebugMessage::ErrorType0x00000001Die Meldung stellt einen Fehler dar.
QOpenGLDebugMessage::DeprecatedBehaviorType0x00000002Die Nachricht stellt eine Verwendung von veraltetem Verhalten dar.
QOpenGLDebugMessage::UndefinedBehaviorType0x00000004Die Nachricht stellt die Verwendung eines undefinierten Verhaltens dar.
QOpenGLDebugMessage::PortabilityType0x00000008Die Meldung stellt die Verwendung eines anbieterspezifischen Verhaltens dar, das zu Problemen bei der Portabilität führen kann.
QOpenGLDebugMessage::PerformanceType0x00000010Die Meldung stellt ein Leistungsproblem dar.
QOpenGLDebugMessage::OtherType0x00000020Die Meldung stellt einen Typ dar, der nicht in dieser Aufzählung enthalten ist.
QOpenGLDebugMessage::MarkerType0x00000040Die Meldung stellt eine Markierung im Debug-Protokoll dar.
QOpenGLDebugMessage::GroupPushType0x00000080Die Nachricht stellt einen Debug-Gruppen-Push-Vorgang dar.
QOpenGLDebugMessage::GroupPopType0x00000100Die Meldung steht für einen Debug-Group-Pop-Vorgang.
QOpenGLDebugMessage::AnyType0xffffffffDieser Wert entspricht einer Maske für alle möglichen Nachrichtentypen.

Der Typ Types ist ein Typedef für QFlags<Type>. Er speichert eine ODER-Kombination von Type-Werten.

Dokumentation der Mitgliedsfunktionen

QOpenGLDebugMessage::QOpenGLDebugMessage()

Konstruiert eine Debug-Nachricht mit einer leeren Zeichenkette, id auf 0, source auf InvalidSource, type auf InvalidType und severity auf InvalidSeverity gesetzt.

Hinweis: Dieser Konstruktor sollte nicht verwendet werden, um eine Debug-Nachricht zu erstellen; verwenden Sie stattdessen die statischen Funktionen createApplicationMessage() oder createThirdPartyMessage().

Siehe auch createApplicationMessage() und createThirdPartyMessage().

QOpenGLDebugMessage::QOpenGLDebugMessage(const QOpenGLDebugMessage &debugMessage)

Konstruiert eine Debug-Meldung als Kopie von debugMessage.

Siehe auch operator=().

[noexcept] QOpenGLDebugMessage::~QOpenGLDebugMessage()

Löscht diese Debug-Meldung.

[static] QOpenGLDebugMessage QOpenGLDebugMessage::createApplicationMessage(const QString &text, GLuint id = 0, QOpenGLDebugMessage::Severity severity = NotificationSeverity, QOpenGLDebugMessage::Type type = OtherType)

Konstruiert eine Debug-Meldung mit text als Text, id als id, severity als Schweregrad und type als Typ und gibt sie zurück. Die Nachrichtenquelle wird auf ApplicationSource gesetzt.

Siehe auch QOpenGLDebugLogger::logMessage() und createThirdPartyMessage().

[static] QOpenGLDebugMessage QOpenGLDebugMessage::createThirdPartyMessage(const QString &text, GLuint id = 0, QOpenGLDebugMessage::Severity severity = NotificationSeverity, QOpenGLDebugMessage::Type type = OtherType)

Konstruiert eine Debug-Meldung mit text als Text, id als id, severity als Schweregrad und type als Typ und gibt sie zurück. Die Nachrichtenquelle wird auf ThirdPartySource gesetzt.

Siehe auch QOpenGLDebugLogger::logMessage() und createApplicationMessage().

GLuint QOpenGLDebugMessage::id() const

Gibt die ID der Debug-Meldung zurück. Ids sind in der Regel herstellerspezifisch.

QString QOpenGLDebugMessage::message() const

Gibt die in dieser Debug-Meldung enthaltene Textnachricht zurück.

QOpenGLDebugMessage::Severity QOpenGLDebugMessage::severity() const

Gibt den Schweregrad der Debug-Meldung zurück.

QOpenGLDebugMessage::Source QOpenGLDebugMessage::source() const

Gibt die Quelle der Debug-Meldung zurück.

[noexcept] void QOpenGLDebugMessage::swap(QOpenGLDebugMessage &other)

Tauscht diese Nachricht] mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.

QOpenGLDebugMessage::Type QOpenGLDebugMessage::type() const

Gibt den Typ der Debug-Meldung zurück.

bool QOpenGLDebugMessage::operator!=(const QOpenGLDebugMessage &debugMessage) const

Gibt true zurück, wenn sich diese Nachricht von debugMessage unterscheidet, andernfalls false.

Siehe auch operator==().

[noexcept] QOpenGLDebugMessage &QOpenGLDebugMessage::operator=(QOpenGLDebugMessage &&debugMessage)

Verschieben - weist debugMessage diesem Objekt zu.

QOpenGLDebugMessage &QOpenGLDebugMessage::operator=(const QOpenGLDebugMessage &debugMessage)

Weist die Nachricht debugMessage diesem Objekt zu und gibt einen Verweis auf die Kopie zurück.

bool QOpenGLDebugMessage::operator==(const QOpenGLDebugMessage &debugMessage) const

Gibt true zurück, wenn diese Debug-Meldung gleich debugMessage ist, andernfalls false. Zwei Debugging-Meldungen sind gleich, wenn sie den gleichen Text, die gleiche ID, die gleiche Quelle, den gleichen Typ und den gleichen Schweregrad haben.

Siehe auch operator!=().

Verwandte Nicht-Mitglieder

QDebug operator<<(QDebug debug, QOpenGLDebugMessage::Severity severity)

Schreibt den Schweregrad severity in das Debug-Objekt debug zu Debugging-Zwecken.

QDebug operator<<(QDebug debug, QOpenGLDebugMessage::Source source)

Schreibt die Quelle source in das Debug-Objekt debug zu Debugging-Zwecken.

QDebug operator<<(QDebug debug, QOpenGLDebugMessage::Type type)

Schreibt den Typ type in das Debug-Objekt debug zu Debugging-Zwecken.

QDebug operator<<(QDebug debug, const QOpenGLDebugMessage &message)

Schreibt die Nachricht message in das Debug-Objekt debug zu Debugging-Zwecken.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.