win下qml程序打包

一般qt程序打包,在Qt5.2之后可以用windeployqt这个工具来打包(mac系统下边为macdeployqt)。

而qml程序的打包不同于一般qt程序的打包,先用windeployqt打包完之后,还要将qt的bin目录同层的qml目录下边的使用到的组件复制到打包目录(分不清那些是使用到的组件的话就将qml目录下边的全部东西都复制)。否则程序进程已经运行,但qml界面就是不显示出来。

转载于:https://my.oschina.net/u/264872/blog/398012

### 如何下载和使用 windeployqt 工具进行 Windows Qt 应用程序打包 #### 下载 windeployqt windeployqtQt 框架提供的一个工具,通常随 Qt 安装包一起提供。如果已经安装了 Qt,则无需单独下载 windeployqt 工具。它位于 Qt 的安装目录下的 `bin` 文件夹中。例如,在默认安装路径下,可以找到以下文件: ```plaintext C:\Qt\<Qt版本号>\<编译器>\bin\windeployqt.exe ``` 例如,如果安装的是 Qt 5.14.2 并使用 MinGW 编译器,则路径为[^4]: ```plaintext C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin\windeployqt.exe ``` 如果尚未安装 Qt,可以从 Qt 官方网站下载并安装 Qt 开发环境[^1]。安装完成后,windeployqt 将自动包含在安装目录中。 #### 使用 windeployqt 打包应用程序 以下是使用 windeployqt 打包 Windows Qt 应用程序的步骤: 1. **编译 Qt 应用程序** 首先需要将 Qt 应用程序编译成可执行文件(`.exe`)。确保生成的 `.exe` 文件位于指定的输出目录中[^1]。 2. **打开命令提示符** 在 Windows 系统中,按下 `Win+R` 键,输入 `cmd` 并按回车以打开命令提示符[^1]。 3. **进入可执行文件所在的目录** 使用 `cd` 命令切换到包含 `.exe` 文件的目录。例如: ```cmd cd C:\Users\<用户名>\Desktop\Release ``` 4. **运行 windeployqt** 使用以下命令运行 windeployqt 工具,将所需的库和依赖项复制到应用程序目录中: ```cmd C:\Qt\<Qt版本号>\<编译器>\bin\windeployqt.exe <应用程序路径> ``` 示例: ```cmd C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin\windeployqt.exe hello.exe ``` 如果应用程序使用了 QML,则需要额外指定 `--qmldir` 参数以包含 QML 相关资源: ```cmd C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin\windeployqt.exe hello.exe --qmldir C:\Qt\Qt5.14.2\5.14.2\mingw73_64\qml ``` #### 注意事项 - 确保使用的 windeployqt 版本与编译应用程序时的 Qt 版本一致[^3]。 - 如果目标计算机上未安装 Qt 运行时库,则需要通过 windeployqt 复制所有必要的依赖项[^1]。 - 在某些情况下,可能需要手动添加其他依赖项(如特定的 DLL 文件)[^2]。 ```python # 示例 Python 脚本用于自动化 windeployqt 调用 import subprocess qt_bin_path = r"C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin" app_path = r"C:\Users\lingd\Desktop\Release\hello.exe" qml_dir = r"C:\Qt\Qt5.14.2\5.14.2\mingw73_64\qml" subprocess.run([f"{qt_bin_path}\\windeployqt.exe", app_path, "--qmldir", qml_dir]) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值