本页面

Qt Quick 3D

Qt Quick 3D 提供了一个高级 API,用于基于 Qt Quick。与使用外部引擎不同——后者会引发同步问题并增加额外的抽象层——Qt Quick 3D 为现有的Qt Quick 场景图提供了用于空间内容的扩展,并为该扩展后的场景图提供了一个渲染器。使用空间场景图时,可以将Qt Quick 的 2D 内容与 3D 内容混合使用。

Qt Quick 3D 此外,Qt Quick 3D Xr 还为 XR 和 VR 应用程序提供了支持。

绿色金属龙模型

使用该模块

QML API

可通过QtQuick3D 导入获取该模块的 QML 类型。要使用这些类型,请在您的 .qml 文件中添加以下导入语句:

import QtQuick3D

以下模块导入提供了额外功能:

import QtQuick3D.AssetUtils
import QtQuick3D.Helpers
import QtQuick3D.Particles3D
import QtQuick3D.Xr

C++ API

要使用 Qt 模块的 C++ API,需要将模块库链接到项目中,既可以直接链接,也可以通过其他依赖项间接链接。包括CMake和qmake 在内的多种构建工具都为此提供了专门的支持。

使用 CMake 构建

使用find_package() 命令在Qt6 软件包中定位所需的模块组件:

find_package(Qt6 REQUIRED COMPONENTS Quick3D)
target_link_libraries(mytarget PRIVATE Qt6::Quick3D)

更多详细信息,请参阅“使用 CMake 构建”概述。

使用 qmake 构建

要配置模块以便使用 qmake 进行构建,请在项目的 .pro 文件中将该模块作为QT 变量的值添加:

QT += quick3d

从源代码构建

从源代码构建时,请确保先构建来自qtdeclarative和qtshadertools仓库的模块和工具,因为没有这些组件就无法使用Qt Quick 3D 。强烈建议同时安装qtquicktimeline,否则将无法使用基于关键帧的动画。

此外,部分示例依赖于 Qt Quick Controls.

模块演变

Qt Quick 3D 中的变更列出了为 Qt 6 系列所做的模块 API 和功能方面的重大变更。

文章与指南

示例

参考

Qt Academy 课程

许可与署名

Qt Quick 3D 本软件在The Qt Company 的商业许可下提供。此外,它还遵循GNU 通用公共许可证第 3 版。更多详情请参阅Qt 许可说明。

此外,Qt Quick 3D 可能包含以下宽松许可协议下的第三方模块:

Blue Noise Texture

知识共享零许可协议 v1.0 通用版

Godot Engine: Fog

MIT 许可

Godot Engine: ProceduralSky

MIT 许可

Intel Embree, version 3.13.3

Apache 2.0 许可

Java Native Interface for C++, version 1.0.0

MIT 许可协议

JsonCpp, version 1.9.6

MIT 许可协议

Open Asset Import Library, version 6.0.5

BSD 3 条款“新”或“修订”版许可

OpenXR SDK, version 1.1.61

Apache 2.0 许可协议

Tiny OpenEXR, version 1.0.13

BSD 3 条款“新”或“修订”许可

closestPointOnTriangle

Apache 2.0 许可协议

meshoptimizer, version 1.2

MIT 许可协议

xatlas, version 16ace528acd2cf1f16a7c0dde99c42c486488dbe

MIT 许可协议

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