用途:为运行时加载 .qml 文件、需要部署 Qt DLL 的应用编写构建/部署脚本,或排查“能编译运行但无窗口”的静默失败,也可用于在 Windows 上为 CxxQt(Rust)或 PySide6(Python)QML 项目配置 CI/CD。
主要能力:提前解析 Qt 安装路径并快速失败(支持 $env:QT_DIR,默认 C:\Qt\6.10.2\msvc2022_64,校验 qmake6.exe 并将 Qt bin 加入 PATH);调用 windeployqt.exe 部署运行库,release 用 --release、debug 用 --debug,并必须以 --qmldir 指向 .qml 源码目录(CxxQt 为项目根或 qml/,PySide6 常为 resources\qml);按显式 DLL 清单(Qt6Core/Gui/Network/OpenGL、Qml 系列、Quick 与 Controls、各样式插件、D3Dcompiler_47、opengl32sw、可选 Qt6Svg 等)逐一校验并回退复制,缺失则抛出错误;校验 platforms\qwindows.dll(缺失会导致无法建窗)与 qml\QtQuick、qml\QtQuick\Controls、qml\QtQuick\Layouts、qml\QtQml 等模块目录,缺失时从 Qt 安装目录回退复制;提供 QRC 路径约定,CxxQt 经 build.rs 的 QmlModule 以 qml/ 别名打包,加载 URL 应为 qrc:/qt/qml/{uri路径}/qml/{文件名};提供诊断手段:QT_DEBUG_PLUGINS=1、QML_IMPORT_TRACE=1、QT_LOGGING_RULES=*.debug=true,以及将 stderr 重定向到日志的启动方式,并给出常见报错(找不到 .qml、模块未安装、platform plugin windows 缺失、debug/release 混用等)对应处理;含完整 PowerShell 脚本模板(清理、cargo build、部署、测试、运行)。
使用方式:设置 $env:QT_DIR,运行脚本并可传 -Clean/-Test/-Run/-Deploy 与 -Profile debug|release;按需增删 DLL 清单。
适用场景与限制:针对 Windows 桌面、CxxQt 或 PySide6 的 QML 应用;PySide6 打包另需 pyinstaller 参数(--add-data、--add-binary、--hidden-import)。资料未提供其他平台支持与价格信息。