本页内容

工具与实用程序

Qt 提供了一套全面的命令行和图形化开发工具,涵盖了完整的开发工作流:配置构建、预处理资源、根据接口描述(Protobuf、gRPC、D-Bus、SCXML、 OPC UA、远程对象),运行和分析 QML 代码,管理翻译,部署到目标平台,以及导入 3D 资源。

本页面列出的工具包含在 Qt 框架中,并随 Qt 一起安装。有关更广泛的 Qt 生态系统(包括 Qt CreatorIDE 扩展、AI 工具、质量保证工具以及商业插件,请参阅 qt.io 上的Qt 开发工具和Qt 质量保证软件工具。

关于如何在来源不可信的项目中安全运行这些工具的指导,请参阅《安全使用 Qt 开发工具》。

构建系统

用于驱动 Qt 构建配置和项目文件生成的工具。

工具描述
qmakeQt的传统构建系统。根据.pro 项目文件生成特定平台的Makefile。
qt-cmakeQt的主要构建系统是CMake。qt-cmake是一个CMake封装工具,它能自动定位Qt安装路径,从而在配置Qt项目时无需手动设置CMAKE_PREFIX_PATH 环境变量。

代码生成器

用于根据类声明,或根据接口和协议描述文件生成 C++ 源代码的工具。

工具描述
Meta-Object Compiler (moc)处理使用 Qt 宏的 C++ 类声明,并生成支持信号与槽、动态属性以及运行时类型信息的内省代码。
Qt D-Bus XML 编译器 (qdbusxml2cpp)根据 D-Bus 内省 XML 描述生成 C++ 代理类和适配器类。
Qt SCXML 编译器 (qscxmlc)将 SCXML 状态机描述编译为可直接集成到 Qt 应用程序中的 C++ 类。
Qt Remote Objects 编译器 (repc)根据.rep 接口文件生成源类和副本类,供 Qt Remote Objects。
Qt OPC UA 数据类型生成器 (qopcuaxmldatatypes2cpp)从 OPC UA NodeSet2 XML 文件生成 C++ 数据类型代码,供以下用途使用 Qt OPC UA。
qtgrpcgen从.proto 文件生成与Qt兼容的gRPC客户端和服务器存根C++类。
Qt Jenny:Java 代码生成器为 Java API 生成 C++ 封装类,从而支持在 Android 平台上通过 Java 或 Kotlin 调用 Qt API。
User Interface Compiler (uic)将Qt Designer 中创建的.ui 表单文件转换为C++头文件。

资源预处理

用于预处理和转换源资源,将其转换为构建或运行时可用的形式的工具:UI 表单、二进制资源、着色器、可缩放矢量图形、距离场图集和动画文件。

工具描述
Resource Compiler (rcc)将应用程序资源(如图像、QML文件和翻译文件)嵌入到应用程序二进制文件中,或作为独立的.rcc 文件输出。
svgtoqml使用Qt Quick Shapes将SVG文件转换为QML组件,从而实现无需依赖光栅图像的可缩放矢量图形。
Qt Shader Baker (qsb)将 GLSL 着色器编译为多目标包格式(.qsb ),该格式可被 Qt 的图形栈在 Vulkan、Metal、Direct3D 和 OpenGL 后端中使用。
Qt Distance Field Generator为文本渲染预生成距离场纹理图集,从而在资源受限的嵌入式目标设备上缩短启动时间。
lottietoqml使用以下功能将 Lottie JSON 动画文件(由 Adobe After Effects 及兼容工具导出)转换为 QML 组件 Qt Lottie Animation.

QML 编译

用于将 QML 和 JavaScript 文件预先编译为字节码或本机 C++ 的工具,从而降低运行时的启动开销。

工具描述
QML 脚本编译器将 QML 和 JavaScript 文件中的函数和表达式编译为字节码,该字节码可由 QML 引擎进行解释或即时编译。
QML 类型编译器将 QML 类型转换为 C++ 类型,这些类型作为用户代码的一部分进行预编译。

格式化工具和代码检查工具

用于分析和格式化 QML 源文件的工具。

工具描述
qmllint用于 QML 文件的静态分析工具。可在开发阶段检测绑定错误、已弃用的 API 使用以及其他常见错误。
qmlformat根据QML 编码规范对 QML 文件进行格式化。
QML Language Server一个兼容 LSP 的语言服务器,可在任何支持语言服务器协议(LSP)的编辑器中提供代码补全、跳转到定义以及实时诊断功能。
qmlcontextpropertydump扫描 C++ 源代码文件夹以查找潜在的上下文属性定义,并将其以qmllint和 QML Language Server。

3D 资源

用于导入和转换3D内容,以及在构建时对物理碰撞数据进行预处理的工具。

工具描述
Balsam 资源导入工具可导入FBX、glTF 2和OBJ等格式的3D资源,并将其转换为Qt Quick 3D 的原生格式。
Balsam UIBalsam工具的图形化前端界面。
Cooker在构建时对Qt Quick 3D 物理引擎的碰撞网格进行预处理和烘焙,从而避免目标设备上的运行时开销。
材质编辑器 (materialeditor)一款用于创建CustomMaterials 的GUI工具 Qt Quick 3D。
实例生成器将 Qt Quick 3D 将FileInstancing XML中的实例化表转换为二进制格式,以便在运行时进行直接内存映射。

翻译与本地化

用于提取、转换和编译翻译文件的工具。

工具描述
Qt LinguistQt 的翻译环境。为翻译人员提供了一套工作流程,用于审查源字符串、输入翻译内容,并在发布前验证.ts 文件。

以下工具是Qt Linguist 的一部分。

工具描述
lupdate从 C++ 和 QML 源文件中提取可翻译字符串,并创建或更新.ts 翻译文件。
lupdate-prolupdate 的变体,可读取.pro 项目文件以定位源文件。
lrelease将.ts 翻译文件编译为二进制.qm 格式,以便在运行时使用。
lrelease-prolrelease 的变体,用于读取.pro 项目文件。
lconvert在各种翻译文件格式(TS、XLIFF、PO 等)之间进行转换。
ltext2id将基于文本的翻译文件转换为基于 ID 的格式。
lcheck验证.ts 文件并报告常见错误。适用于CI管道。

测试与诊断

用于测试 Qt 应用程序、检查 Qt D-Bus 服务以及诊断运行时问题的工具。有关自动化的 GUI 和系统级测试,请参阅Squish。

工具描述
Qt D-Bus 查看器一款用于 D-Bus 服务的图形化浏览器。可查看对象、接口和属性,并交互式地调用方法。
qmlpreview在保存 QML 文件时,可在已连接的设备或主机上实现热重载,无需重启应用程序。
androidtestrunner在 Android 设备或模拟器上运行 Qt Test,并收集测试结果。
qml 实用工具无需编译后的应用程序封装层即可加载并运行 QML 文件。适用于快速原型设计和测试单个 QML 组件。

性能分析与跟踪

用于从 Qt 和 Qml 应用程序中收集并分析运行时性能数据的工具。

工具描述
qmlprofiler从应用程序中提取 QML 跟踪数据。收集到的数据随后可在Qt Creator 中进行可视化展示。

部署工具

用于将 Qt 应用程序打包并分发至目标平台的工具。

工具描述
androiddeployqt 工具从已编译的 Qt 应用程序中生成可部署的 Android APK 或 AAB 文件,并将所需的 Qt 库和资源打包其中。
harmonydeployqt 工具从已编译的 Qt 应用程序中构建可部署的 HarmonyOS 能力包 (HAP),并打包所需的 Qt 库、插件和 QML 模块。
macOS 部署工具可自动生成包含 Qt 库(作为私有框架)的可部署应用程序包。
Windows 部署工具将所有必需的 Qt 库、插件、QML 模块和运行时依赖项收集到一个可直接运行的部署文件夹中。

Qt Application Manager

Qt Application Manager 是用于构建嵌入式系统用户界面的框架,用于管理、沙箱化以及控制应用程序的生命周期。

工具描述
Qt Application Manager主要应用程序管理工具。作为嵌入式系统用户界面的合成窗口管理器和应用程序生命周期控制器。

以下命令行实用程序是Qt Application Manager 套件的一部分。

工具描述
控制器 (appman)远程控制正在运行的 appman 实例:启动和停止应用程序、安装软件包以及查询运行时状态。
打包工具 (appman)用于创建、签名和验证应用程序包,以便由应用程序管理器进行安装。
软件包服务器 (appman)一个轻量级的开发用 HTTP 服务器,用于分发应用程序包以进行无线安装测试。

ActiveQt、Windows COM 集成

用于在 Windows 上处理 COM 和 ActiveX 的工具:从类型库生成 C++ 绑定、生成文档以及测试 ActiveX 控件。

工具描述
dumpcpp从 Windows COM 类型库生成 C++ 命名空间和类定义,使 Qt/C++ 代码能够驱动 COM 服务器。
dumpdoc根据 COM 对象的类型库生成其 HTML 文档。
接口描述编译器 (idc)对 Qt 插件 DLL 进行后处理,将其注册为 COM 服务器,并生成必要的 IDL 和类型库元数据。
ActiveX 测试容器 (testcon)一个用于测试和探索 ActiveX 控件的交互式容器。

UI 设计

用于设计视觉效果和应用程序表单的工具。

工具描述
Qt Quick Effect Maker一款基于可视化节点的工具,用于设计和预览Qt Quick 项目的自定义片段着色器效果。
Qt Widgets Designer一款用于Qt Widgets 应用程序的所见即所得(WYSIWYG)表单和小部件设计工具,可生成由uic 使用的.ui 文件。

文档工具

用于生成和浏览 Qt 文档的工具。

工具描述
QDocQt的文档生成器。读取带注释的C++源代码和.qdocconf 配置文件,生成HTML或Qt Help 格式输出。
Qt AssistantQt的离线文档浏览器。可嵌入应用程序中,以提供上下文相关帮助。
qhelpgenerator将Qt Help 项目(.qhp )文件编译为压缩的.qch 归档文件,供Qt Assistant 和Qt Help框架使用。

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