QOpenGLDebugMessage 类
QOpenGLDebugMessage 类封装了一个 OpenGL 调试消息。更多...
头文件 | #include <QOpenGLDebugMessage> |
CMake | find_package(Qt6 REQUIRED COMPONENTS OpenGL) target_link_libraries(mytarget PRIVATE Qt6::OpenGL) |
qmake | QT += opengl |
- 所有成员列表,包括继承成员
- QOpenGLDebugMessage 是 隐式共享类 和 3D 渲染 的组成部分。
注意: 此类中的所有函数都是 可重入的。
公共类型
flags | 严重性 |
enum | 严重性 { InvalidSeverity, HighSeverity, MediumSeverity, LowSeverity, NotificationSeverity, AnySeverity } |
enum | 源 { InvalidSource, APISource, WindowSystemSource, ShaderCompilerSource, ThirdPartySource, …, AnySource } |
flags | 源 |
enum | 类型 { InvalidType, ErrorType, DeprecatedBehaviorType, UndefinedBehaviorType, PortabilityType, …, AnyType } |
flags | 类型 |
公共函数
QOpenGLDebugMessage() | |
QOpenGLDebugMessage(const QOpenGLDebugMessage &debugMessage) | |
~QOpenGLDebugMessage() | |
GLuint | id() const |
QString | 消息() const |
QOpenGLDebugMessage::Severity | 严重性() const |
QOpenGLDebugMessage::Source | 源() const |
void | 交换(QOpenGLDebugMessage &debugMessage) |
QOpenGLDebugMessage::Type | 类型() const |
bool | 不等(const QOpenGLDebugMessage &debugMessage) const |
QOpenGLDebugMessage & | 赋值(const QOpenGLDebugMessage &debugMessage) |
QOpenGLDebugMessage & | 赋值(QOpenGLDebugMessage &&debugMessage) |
bool | 等于(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 | 操作符 <<(QDebug debug, QOpenGLDebugMessage::源 source) |
QDebug | 操作符 <<(QDebug debug, QOpenGLDebugMessage::类型 type) |
QDebug | 操作符 <<(QDebug debug, QOpenGLDebugMessage::严重性 severity) |
QDebug | 操作符 <<(QDebug debug, const QOpenGLDebugMessage &message) |
详细描述
调试消息通常由OpenGL服务器创建,然后由OpenGL客户端(从OpenGL内部调试日志中或实时记录)读取。调试消息有一个文本表示、一个厂家特定的数字ID、一个来源、一个类型和一个严重性。
应用或第三方库和工具包也可以在调试日志中创建和插入消息。为此,您可以使用createApplicationMessage()或createThirdPartyMessage()静态函数。
另请参见QOpenGLDebugLogger.
成员类型文档
枚举 QOpenGLDebugMessage::严重性
标志 QOpenGLDebugMessage::严重性
严重性枚举定义了调试消息的严重性。
常量 | 值 | 描述 |
---|---|---|
QOpenGLDebugMessage::InvalidSeverity | 0x00000000 | 消息的严重性是无效的;这是默认构造的QOpenGLDebugMessage对象的严重性。 |
QOpenGLDebugMessage::HighSeverity | 0x00000001 | 消息具有高严重性。 |
QOpenGLDebugMessage::MediumSeverity | 0x00000002 | 消息具有中等严重性。 |
QOpenGLDebugMessage::LowSeverity | 0x00000004 | 消息具有低严重性。 |
QOpenGLDebugMessage::NotificationSeverity | 0x00000008 | 消息是一个通知。 |
QOpenGLDebugMessage::AnySeverity | 0xffffffff | 此值对应于所有可能的消息严重性的掩码。 |
严重性类型是QFlags
枚举 QOpenGLDebugMessage::来源
标志 QOpenGLDebugMessage::来源
来源枚举定义了调试消息的来源。
常量 | 值 | 描述 |
---|---|---|
QOpenGLDebugMessage::InvalidSource | 0x00000000 | 消息的来源是无效的;这是默认构造的QOpenGLDebugMessage对象的来源。 |
QOpenGLDebugMessage::APISource | 0x00000001 | 消息是由对OpenGL API的调用生成的。 |
QOpenGLDebugMessage::WindowSystemSource | 0x00000002 | 消息是由窗口系统生成的。 |
QOpenGLDebugMessage::ShaderCompilerSource | 0x00000004 | 消息是由着色器编译器生成的。 |
QOpenGLDebugMessage::ThirdPartySource | 0x00000008 | 消息是由第三方生成的,例如OpenGL框架或调试工具包。 |
QOpenGLDebugMessage::ApplicationSource | 0x00000010 | 消息是由应用程序本身生成的。 |
QOpenGLDebugMessage::OtherSource | 0x00000020 | 消息是由未包含在此枚举中的来源生成的。 |
QOpenGLDebugMessage::AnySource | 0xffffffff | 此值对应于所有可能的消息来源的掩码。 |
来源类型是QFlags
枚举 QOpenGLDebugMessage::类型
标志 QOpenGLDebugMessage::类型
类型枚举定义了调试消息的类型。
常量 | 值 | 描述 |
---|---|---|
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 值的 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 &debugMessage)
将信息 debugMessage 与此消息交换。此操作非常快速且从不失败。
QOpenGLDebugMessage::Type QOpenGLDebugMessage::type() const
返回调试信息的类型。
bool QOpenGLDebugMessage::operator!=(const QOpenGLDebugMessage &debugMessage) const
如果此消息与 debugMessage 不同,则返回 true
,否则返回 false。
另请参阅 operator==。
QOpenGLDebugMessage &QOpenGLDebugMessage::operator=(const QOpenGLDebugMessage &debugMessage)
将消息 debugMessage 赋值给此对象,并返回对副本的引用。
[noexcept]
QOpenGLDebugMessage &QOpenGLDebugMessage::operator=(QOpenGLDebugMessage &&debugMessage)
将 debugMessage 移动赋值给此对象。
bool QOpenGLDebugMessage::operator==(const QOpenGLDebugMessage &debugMessage) const
如果此调试信息与 debugMessage 相等,则返回 true
,否则返回 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,以供调试使用。
© 2024 The Qt Company Ltd. 本处包含的文档贡献归各自所有者所有。提供的文档根据 Free Software Foundation 发布的 GNU Free Documentation License 版本 1.3 的条款进行许可。Qt 及相关标志是 The Qt Company Ltd. 在芬兰和/或其他国家的商标。所有其他商标均为各自所有者的财产。