GraphicsInfo QML Type

提供关于Qt Quick 使用的 scenegraph 后端和图形 API 的信息。更多

Import Statement: import QtQuick
Since: QtQuick 2.8

属性

详细说明

附加的 GraphicsInfo 类型提供了关于场景图后台和用于渲染关联窗口内容的图形 API 的信息。

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

属性文档

api : enumeration [read-only]

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

可能的值有

常量说明
GraphicsInfo.Unknown当没有活动场景图与项目关联时的默认值
GraphicsInfo.SoftwareQt Quick基于QPainter 光栅绘画引擎的软件渲染器
GraphicsInfo.OpenVGOpenVG
GraphicsInfo.OpenGLQRhi 上的 OpenGL 或 OpenGL ES,图形抽象层
GraphicsInfo.Direct3D11Direct3D 11 位于QRhi 的顶层,是一个图形抽象层
GraphicsInfo.Direct3D12Direct3D 12 位于QRhi 的顶层,是一个图形抽象层
GraphicsInfo.VulkanVulkan on top ofQRhi, 图形抽象层
GraphicsInfo.MetalMetal on top ofQRhi, 图形抽象层
GraphicsInfo.NullNull (no output) on top ofQRhi, 一个图形抽象层

majorVersion : int [read-only]

该属性包含正在使用的图形 API 的主要版本。

对于 OpenGL,默认版本为2.0

注: 该属性仅适用于 OpenGL。

另请参阅 minorVersionprofile


minorVersion : int [read-only]

此属性表示正在使用的图形 API 的次版本。

对于 OpenGL,默认版本为2.0

注: 仅适用于 OpenGL。

另请参阅 majorVersionprofile


profile : enumeration [read-only]

该属性包含已配置的 OpenGL 上下文配置文件。

可能的值有

常量说明
GraphicsInfo.OpenGLNoProfile(默认值) OpenGL 版本低于 3.2 或未使用 OpenGL。
GraphicsInfo.OpenGLCoreProfile在 OpenGL 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 变为实际的位掩码。这与ShaderEffect 内的ShaderEffectSource 项设置为属性值尤其相关。

该属性在 QtQuick 2.8 中引入。

另请参阅 shaderTypeshaderSourceType


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

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

常量
GraphicsInfo.ShaderSourceString
GraphicsInfo.ShaderSourceFile
GraphicsInfo.ShaderByteCode

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

注意: 该值只有在项目与窗口关联后才会更新。依赖该值的绑定必须牢记这一点,因为在组件初始化完成后,该值可能会从0 变为实际的位掩码。这与ShaderEffect 内的ShaderEffectSource 项设置为属性值尤其相关。

该属性在 QtQuick 2.8 中引入。

另请参阅 shaderTypeshaderCompilationType


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

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

常量说明
GraphicsInfo.UnknownShadingLanguage由于未关联窗口和场景图,因此尚不清楚
GraphicsInfo.GLSLGLSL 或 GLSL ES
GraphicsInfo.HLSLHLSL
GraphicsInfo.RhiShaderQShader

注: 该值只有在项目与窗口关联后才会更新。依赖该值的绑定必须牢记这一点,因为在组件初始化完成后,该值可能会从GraphicsInfo.UnknownShadingLanguage 变为实际值。这与ShaderEffect 内的ShaderEffectSource 项设置为属性值尤其相关。

该属性在 QtQuick 2.8 中引入。

另请参阅 shaderCompilationTypeshaderSourceType


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