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 enum は、デバッグメッセージの重大度を定義します。

定数説明
QOpenGLDebugMessage::InvalidSeverity0x00000000メッセージの重大度は無効です。これは、デフォルトで構築されたQOpenGLDebugMessage オブジェクトの重大度です。
QOpenGLDebugMessage::HighSeverity0x00000001メッセージの重大度は高い。
QOpenGLDebugMessage::MediumSeverity0x00000002メッセージの重大度は中である。
QOpenGLDebugMessage::LowSeverity0x00000004メッセージの重大度は低い。
QOpenGLDebugMessage::NotificationSeverity0x00000008メッセージは通知である。
QOpenGLDebugMessage::AnySeverity0xffffffffこの値は、可能なすべてのメッセージの重大度のマスクに対応します。

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

enum QOpenGLDebugMessage::Source
flags QOpenGLDebugMessage::Sources

Source enum は、デバッグメッセージのソースを定義します。

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

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

enum QOpenGLDebugMessage::Type
flags QOpenGLDebugMessage::Types(QOpenGLDebugMessage::Type列挙型)

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 に設定、source をInvalidSource に設定、type をInvalidType に設定、severity を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 を severity、type を 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 を severity、type を 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)

Move-このオブジェクトに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 オブジェクトdebug に書き込みます。

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

デバッグ用に、ソースsource をデバッグオブジェクトdebug に書き込む。

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

デバッグのために、デバッグオブジェクトdebug に型type を書き込む。

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

デバッグ用に、メッセージmessage をデバッグオブジェクトdebug に書き込む。

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