本页内容

GraphicsInfo QML Type (Uncreatable)

提供有关场景图后端以及Qt Quick 所使用的图形API的信息。更多内容...

Import Statement: import QtQuick
Since: QtQuick 2.8

注意:这是一个不可创建的类型。无法在 QML 中对其进行实例化。

属性

详细说明

GraphicsInfo 关联类型提供了有关场景图后端以及用于渲染关联窗口内容图形 API 的信息。

如果属性所附加的项目当前未与任何窗口相关联,则这些属性将设置为默认值。当关联的窗口发生变化时,这些属性将随之更新。

属性文档

api : enumeration [read-only]

该属性描述了当前正在使用的图形 API。

可能的取值为:

常量描述
GraphicsInfo.Unknown当该项目未关联任何活动场景图时的默认值
GraphicsInfo.SoftwareQt Quick基于QPainter 且采用光栅绘制引擎的软件渲染器
GraphicsInfo.OpenVGOpenVG
GraphicsInfo.OpenGL基于QRhi 的OpenGL或OpenGL ES,即图形抽象层
GraphicsInfo.Direct3D11基于QRhi (一个图形抽象层)的Direct3D 11
GraphicsInfo.Direct3D12基于QRhi (一个图形抽象层)的 Direct3D 12
GraphicsInfo.Vulkan基于QRhi (图形抽象层)的Vulkan
GraphicsInfo.MetalMetal 构建于QRhi 之上,这是一个图形抽象层
GraphicsInfo.NullNull(无输出)构建于QRhi 之上, 是一种图形抽象层

majorVersion : int [read-only]

该属性存储正在使用的图形 API 的主版本号。

对于 OpenGL,默认版本为2.0 。

注意:这 仅适用于 OpenGL。

另请参阅 minorVersion 和profile 。

minorVersion : int [read-only]

该属性存储正在使用的图形 API 的次版本号。

对于 OpenGL,默认版本为2.0 。

注意:此属性 仅适用于 OpenGL。

另请参阅 majorVersion 和profile 。

profile : enumeration [read-only]

该属性存储了已配置的 OpenGL 上下文配置文件。

可能的取值包括:

常量描述
GraphicsInfo.OpenGLNoProfile(默认)OpenGL 版本低于 3.2 或未使用 OpenGL。
GraphicsInfo.OpenGLCoreProfileOpenGL 3.0 版本中已弃用的功能不可用。
GraphicsInfo.OpenGLCompatibilityProfile早期 OpenGL 版本中的功能可用。

可重用的 QML 组件通常会在绑定中使用此属性,以便在兼容核心配置文件和非核心配置文件的着色器源之间进行选择。

注意:这 仅适用于 OpenGL。

另请参阅 majorVersion 、minorVersion 和QSurfaceFormat 。

renderableType : enumeration [read-only]

该属性存储可渲染类型。对于 OpenGL 以外的 API,该值没有特殊含义。

可能的值包括:

常量描述
GraphicsInfo.SurfaceFormatUnspecified(默认) 未指定的渲染方法
GraphicsInfo.SurfaceFormatOpenGL桌面版 OpenGL 或其他图形 API
GraphicsInfo.SurfaceFormatOpenGLESOpenGL ES

注意:此项 仅适用于 OpenGL。

另请参阅 QSurfaceFormat 。

shaderCompilationType : enumeration [read-only, since QtQuick 2.8]

该属性包含应用程序所使用的Qt Quick 后端所支持的着色器编译方法的位掩码。

常量值
GraphicsInfo.RuntimeCompilation
GraphicsInfo.OfflineCompilation

在 OpenGL 中,该值为GraphicsInfo.RuntimeCompilation,这对应于使用ShaderEffect 的传统方式。然而,非 OpenGL 后端预计会更多地侧重于GraphicsInfo.OfflineCompilation。

注意:该值 仅在项目与窗口关联后才会更新。依赖该值的绑定必须注意这一点,因为在组件初始化完成后,该值可能会从 `0 ` 变为实际的位掩码。这对于作为属性值设置在 `ShaderEffectSource ` 项目中的 `ShaderEffect ` 项目尤为重要。

该属性在 QtQuick 2.8 中引入。

另请参阅 shaderType 和shaderSourceType 。

shaderSourceType : enumeration [read-only, since QtQuick 2.8]

该属性包含一个位掩码,表示支持的着色器源提供方式。

常量值
GraphicsInfo.ShaderSourceString
GraphicsInfo.ShaderSourceFile
GraphicsInfo.ShaderByteCode

在 OpenGL 中,该值为 `GraphicsInfo.ShaderSourceString`,这对应于将 GLSL 源代码内联到 QML 中的传统方式。然而,其他非 OpenGL 的Qt Quick 后端可能会决定不支持内联着色器源,甚至完全不支持着色器源。 在这种情况下,着色器应预先编译为 SPIR-V 或 D3D 着色器字节码等格式。

注意:该值 仅在项目与窗口关联后才会更新。依赖该值的绑定必须注意这一点,因为在组件初始化完成后,该值可能会从 `0 ` 变为实际的位掩码。这对于作为属性值设置在 `ShaderEffectSource ` 项目中的 `ShaderEffect ` 项目尤为重要。

该属性在 QtQuick 2.8 中引入。

另请参阅 shaderType 和shaderCompilationType 。

shaderType : enumeration [read-only, since QtQuick 2.8]

此属性包含应用程序所使用的Qt Quick 后端所支持的着色语言。

常量描述
GraphicsInfo.UnknownShadingLanguage由于未关联窗口和场景图,目前尚不清楚
GraphicsInfo.GLSLGLSL 或 GLSL ES
GraphicsInfo.HLSLHLSL
GraphicsInfo.RhiShaderQShader

注意:该值 仅在项与窗口关联后才会更新。依赖该值的绑定必须考虑到这一点,因为在组件初始化完成后,该值可能会从GraphicsInfo.UnknownShadingLanguage变为实际值。这对于作为属性值设置在ShaderEffectSource 项内的ShaderEffect 项尤为重要。

该属性在 QtQuick 2.8 中引入。

另请参阅 shaderCompilationType 和shaderSourceType 。

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