このページでは

QOpenGLDebugMessage Class

QOpenGLDebugMessage クラスは、OpenGL デバッグメッセージをラップしています。詳細...

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

注:このクラスのすべての関数は再入可能です。

パブリック型

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

パブリック関数

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

静的パブリック メンバー

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)

詳細な説明

デバッグメッセージは通常、OpenGL サーバーによって生成され、OpenGL クライアントによって読み取られます(OpenGL 内部のデバッグログから、またはリアルタイムで記録されたもの)。デバッグメッセージには、テキスト表現、ベンダー固有の数値 ID、送信元、タイプ、および重大度があります。

また、アプリケーションやサードパーティのライブラリ、ツールキットがメッセージを作成し、デバッグログに挿入することも可能です。その場合は、静的関数 `createApplicationMessage()` または `createThirdPartyMessage()` を使用できます。

QOpenGLDebugLoggerも参照してください 。

メンバ型のドキュメント

enum QOpenGLDebugMessage::Severity
flags QOpenGLDebugMessage::Severities

「Severity」列挙型は、デバッグメッセージの重大度を定義します。

定数値説明
QOpenGLDebugMessage::InvalidSeverity0x00000000メッセージの重大度が無効です。これは、デフォルト構築されたQOpenGLDebugMessage オブジェクトの重大度です。
QOpenGLDebugMessage::HighSeverity0x00000001メッセージの重大度は「high」です。
QOpenGLDebugMessage::MediumSeverity0x00000002メッセージの重大度は「中」です。
QOpenGLDebugMessage::LowSeverity0x00000004メッセージの重大度は低です。
QOpenGLDebugMessage::NotificationSeverity0x00000008このメッセージは通知です。
QOpenGLDebugMessage::AnySeverity0xffffffffこの値は、考えられるすべてのメッセージの重大度を組み合わせたマスクに対応しています。

Severities 型は、QFlags<Severity> の typedef です。これは、Severity 値の OR 組み合わせを格納します。

enum QOpenGLDebugMessage::Source
flags QOpenGLDebugMessage::Sources

Source 列挙型は、デバッグメッセージの送信元を定義します。

定数値説明
QOpenGLDebugMessage::InvalidSource0x00000000メッセージのソースが無効です。これは、デフォルト構築された `QOpenGLDebugMessage ` オブジェクトのソースです。
QOpenGLDebugMessage::APISource0x00000001このメッセージは、OpenGL API 呼び出しに応じて生成されました。
QOpenGLDebugMessage::WindowSystemSource0x00000002このメッセージは、ウィンドウシステムによって生成されました。
QOpenGLDebugMessage::ShaderCompilerSource0x00000004このメッセージは、シェーダコンパイラによって生成されました。
QOpenGLDebugMessage::ThirdPartySource0x00000008このメッセージは、OpenGL フレームワークやデバッグツールキットなどのサードパーティによって生成されました。
QOpenGLDebugMessage::ApplicationSource0x00000010このメッセージは、アプリケーション自体によって生成されました。
QOpenGLDebugMessage::OtherSource0x00000020このメッセージは、この列挙に含まれていないソースによって生成されました。
QOpenGLDebugMessage::AnySource0xffffffffこの値は、考えられるすべてのメッセージソースのマスクに対応しています。

Sources 型は、QFlags<Source> の typedef です。これは、Source 値の OR 組み合わせを格納します。

enum QOpenGLDebugMessage::Type
flags QOpenGLDebugMessage::Types

Type 列挙型は、デバッグメッセージのタイプを定義します。

定数値説明
QOpenGLDebugMessage::InvalidType0x00000000メッセージの型が無効です。これは、デフォルト構築されたQOpenGLDebugMessage オブジェクトの型です。
QOpenGLDebugMessage::ErrorType0x00000001メッセージはエラーを表しています。
QOpenGLDebugMessage::DeprecatedBehaviorType0x00000002このメッセージは、非推奨の挙動の使用を表しています。
QOpenGLDebugMessage::UndefinedBehaviorType0x00000004このメッセージは、未定義の挙動の使用を表しています。
QOpenGLDebugMessage::PortabilityType0x00000008このメッセージは、移植性に関する懸念を引き起こす可能性のある、ベンダー固有の挙動の使用を表しています。
QOpenGLDebugMessage::PerformanceType0x00000010このメッセージは、パフォーマンス上の問題を示しています。
QOpenGLDebugMessage::OtherType0x00000020このメッセージは、この列挙型に含まれていない型を表しています。
QOpenGLDebugMessage::MarkerType0x00000040このメッセージは、デバッグログ内のマーカーを表しています。
QOpenGLDebugMessage::GroupPushType0x00000080このメッセージは、デバッググループのプッシュ操作を表しています。
QOpenGLDebugMessage::GroupPopType0x00000100このメッセージは、デバッググループのポップ操作を表しています。
QOpenGLDebugMessage::AnyType0xffffffffこの値は、すべての可能なメッセージ・タイプのマスクに対応しています。

Types 型は、QFlags<Type> の typedef です。これは、Type 値の OR 組み合わせを格納します。

メンバ関数のドキュメント

QOpenGLDebugMessage::QOpenGLDebugMessage()

メッセージ文字列を空にし、IDを0、ソースをInvalidSource 、タイプをInvalidType 、重大度をInvalidSeverity に設定して、デバッグメッセージを作成します。

注:この コンストラクタをデバッグメッセージの作成に使用してはなりません。代わりに、createApplicationMessage() またはcreateThirdPartyMessage() の静的関数を使用してください。

createApplicationMessage() およびcreateThirdPartyMessage()も参照してください 。

QOpenGLDebugMessage::QOpenGLDebugMessage(const QOpenGLDebugMessage &debugMessage)

debugMessage のコピーとしてデバッグメッセージを生成します。

operator=()も参照してください 。

[noexcept] 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を返します。IDは通常、ベンダーごとに異なります。

QString QOpenGLDebugMessage::message() const

このデバッグメッセージに含まれるテキストメッセージを返します。

QOpenGLDebugMessage::Severity QOpenGLDebugMessage::severity() const

デバッグメッセージの重大度を返します。

QOpenGLDebugMessage::Source QOpenGLDebugMessage::source() const

デバッグメッセージの送信元を返します。

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

このメッセージをother と入れ替えます。この操作は非常に高速で、失敗することはありません。

QOpenGLDebugMessage::Type QOpenGLDebugMessage::type() const

デバッグメッセージの型を返します。

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

このメッセージが `debugMessage` と異なる場合は `true ` を返し、それ以外の場合は `false` を返します。

operator==()も参照してください 。

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

debugMessage をこのオブジェクトに割り当てます。

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

このオブジェクトにメッセージ「debugMessage 」を割り当て、そのコピーへの参照を返します。

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

このデバッグメッセージが `debugMessage` と等しい場合は `true ` を返し、それ以外の場合は `false` を返します。2つのデバッグメッセージは、メッセージ本文、ID、送信元、タイプ、および重大度がすべて同じ場合に等しいとみなされます。

operator!=()も参照してください 。

関連する非メンバー

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

デバッグの目的で、severity の重大度をdebug のデバッグオブジェクトに書き込みます。

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

デバッグの目的で、ソース `source ` をデバッグオブジェクト `debug ` に書き込みます。

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

デバッグの目的で、型 `type ` をデバッグオブジェクト `debug ` に書き込みます。

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

デバッグの目的で、メッセージ「message 」をデバッグオブジェクト「debug 」に書き込みます。

© 2026 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.