内容提要
Qt推出QML实时预览MCP工具,AI代理编辑QML后无需重新编译即可热重载查看效果。工具通过run_qmlPreview启动应用,配合qt-qml技能自动检查调试配置并提示需重建的改动。仅支持Qt 6.12+、单一QML引擎及QML模块,C++改动仍需重建。该工具经Claude、Copilot等测试,可通过Qt安装器获取。
延伸解读
工具定位与核心价值
QML实时预览MCP工具将qmlpreview封装为AI代理可调用的MCP服务,暴露run_qmlPreview工具。代理传入应用可执行文件绝对路径后,工具启动应用并启用热重载,使大多数QML编辑无需重新编译即可在运行界面中呈现。这解决了代理编辑后需完整构建才能验证的问题,让开发者能基于实时UI反馈,而非文字描述,进行协作。
与qt-qml技能协同的自动化流程
qt-qml编码技能已更新,当MCP工具连接且项目使用Qt 6.12+时,技能会自动检查应用目标是否以QT_QML_DEBUG构建,若缺失则提供确切的CMake行并询问后再修改CMakeLists.txt。技能还会主动提议启动预览并等待确认,并提前告知哪些更改需要重新构建,以及在编辑不再显示时建议重启预览。这减少了代理自行摸索的负担。
热重载的边界与限制
该工具仅支持Qt 6.12+和QML,且要求应用只使用单一QML引擎,QML必须来自通过qt_add_qml_module()创建的模块。C++更改、qmldir或模块URI/版本变更、单例注册、CMakeLists.txt修改、新增未链接模块的导入,以及将QML编译进Qt资源时新增QML文件,均需重新构建。部分QML编辑可能丢失UI状态或无法显示,此时预览会重启并重放输入事件。
获取与集成方式
QML实时预览MCP工具通过Qt安装器或Qt维护工具分发,在组件树中打开“Agentic Development Tools”文件夹并选择“QmlPreview MCP Server”即可安装,二进制文件位于Qt 6.12+安装目录的bin文件夹。用户可通过提示如“连接到Qt 6.12安装bin文件夹中的QmlPreviewMcpServer”来连接代理框架。更新的qt-qml技能可从Qt代理技能仓库获取。
Q&A
QML实时预览MCP工具是什么?它解决了什么问题?
QML实时预览MCP工具是Qt推出的一个Model Context Protocol服务器,它暴露一个run_qmlPreview工具,让AI代理能够启动应用并热重载QML文件,无需重新编译或重启。它解决了AI代理编辑QML后无法立即看到结果、每次更改都需要完整重建和重启的问题,使自主AI代理的工作对开发者透明,且token消耗低。
如何使用QML实时预览MCP工具?需要哪些前置条件?
使用该工具需要Qt 6.12或更高版本,并且应用必须使用QML模块(通过qt_add_qml_module创建)。代理通过传递应用可执行文件的绝对路径来调用run_qmlPreview工具,工具会启动应用并启用热重载。同时,建议配合qt-qml编码技能,该技能会检查调试配置、提供CMake修改建议并询问是否启动预览。工具通过Qt安装器或维护工具分发,在组件树中选择“QmlPreview MCP Server”安装,然后在代理中连接位于Qt安装bin文件夹的QmlPreviewMcpServer。
QML实时预览MCP工具支持哪些Qt版本和QML引擎?
该工具仅支持Qt 6.12或更高版本,并且要求应用使用单一的QML引擎(一个QQmlEngine或QQmlApplicationEngine)。如果应用创建多个QML引擎或在工作线程中加载QML,则热重载不可靠。此外,QML必须来自使用qt_add_qml_module()创建的QML模块,否则嵌入在Qt资源中的QML无法热重载。
哪些代码更改需要重新构建应用,而不能仅靠热重载?
以下更改需要重新构建应用:任何C++更改、qmldir文件更改、模块URI或版本更改、单例注册更改、CMakeLists.txt更改(包括向模块添加文件)、新导入应用未链接的模块,以及当项目将QML编译为Qt资源时新增QML文件。这些更改无法通过热重载生效,需要重新构建并重启预览。
QML实时预览MCP工具与qt-qml编码技能如何配合工作?
qt-qml编码技能已更新以指导代理使用MCP工具。当工具连接且项目使用Qt 6.12+时,技能会:检查应用目标是否使用QT_QML_DEBUG构建,如果缺失则提供确切的CMake行(限定于调试构建)并在编辑CMakeLists.txt前询问;提供启动预览的选项并等待用户回答;提前告知何时需要重建,并在编辑不再显示时建议重启预览。两者结合,这些步骤内置于代理中,而仅有qmlpreview可执行文件时代理需自行解决所有问题。
QML实时预览MCP工具在哪些代理环境中测试过?如何获取?
该工具已在Claude Code CLI(使用Claude Sonnet 5.5)、GitHub Copilot(使用GPT 6-Luna)和Qwen Code(使用GLM 5.2)中测试。它通过Qt安装器或Qt维护应用程序分发,在组件树中打开“Agentic Development Tools”文件夹,选择“QmlPreview MCP Server”安装。安装后,二进制文件位于Qt 6.12+安装的bin文件夹中。更新的qt-qml编码技能可从Qt代理技能仓库获取。