QT程序打包 - Inno Setup

博客介绍了Qt项目打包前的图标设置及打包方法。需将下载的.png或.jpg图片转化为.ico格式,可通过网站http://www.bitbug.net/转换,再添加到项目中设置窗口图标。还需新建app.rc文件并在.pro中添加内容编译。图标设置好后,用命令行输入windeployqt XXX.exe,再用inno setup打包程序。

在打包前,一般涉及到图标的设置,下载的图片格式一般为.png或者.jpg,这里需要将下载的图片转化成.ico,这部很关键。转换可在下面网站进行。
http://www.bitbug.net/

然后再qt项目中把图标文件添加进去,以便于设置窗口的图标。
其次,设置应用程序图标,则再当前工程目录新建app.rc文件,内容为:

IDI_ICON1 ICON DISCARDABLE "XXX.ico"

在.pro中添加

RC_FILE = app.rc``

编译即可

图标设置完成后即可打包
在这里插入图片描述

命令行输入
windeployqt XXX.exe
使用inno setup打包程序即可

### 如何使用 Inno Setup 6 打包 Qt 应用程序 #### 准备工作 在开始之前,确保已经准备好以下内容: - 安装并配置好的 Qt 开发环境。 - 编写完成的 Qt 程序及其依赖库。 - 下载并安装最新版本的 Inno Setup(此处为 Inno Setup 6)。 Inno Setup 是一款功能强大的免费安装程序制作工具,适合用来创建 Windows 平台上的安装包。 --- #### 创建基础脚本 1. **启动 Inno Setup**:运行 Inno Setup Compiler 后,选择“新建脚本向导”,根据提示填写应用程序名称、版本号、作者信息等内容[^3]。 2. **设置目标路径**:指定安装后的默认路径以及可执行文件的位置。通常可以将 `OutputDir` 设置为项目的输出目录,方便管理生成的安装包[^4]。 --- #### 添加必要的文件 为了使 Qt 程序能够正常运行,需要将其所需的动态链接库 (DLLs) 和其他资源一并打包到安装包中: - **核心 DLL 文件**:包括但不限于 QtCore.dll, QtGui.dll, QtWidgets.dll 等,具体取决于所使用的模块。 - **平台插件 (`platforms`) 文件夹**:如果缺少该文件夹中的 qwindows.dll,则可能导致无法加载窗口界面的问题[^2]。 - **翻译文件 (.qm)** 或者样式表等附加组件也需要被纳入考虑范围之内。 以下是示例代码片段展示如何通过 `[Files]` 节点引入这些必需品: ```ini [Files] Source: "path\to\your\application.exe"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "path\to\qt\bin\*.dll"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "path\to\qt\plugins\platforms\qwindows.dll"; DestDir: "{app}\platforms\"; Flags: ignoreversion ``` > 注解:上述路径需替换为你实际环境中对应的实际位置;另外还可以利用通配符批量复制整个目录下的所有子项。 --- #### 处理第三方驱动或其他前置条件 当项目涉及额外硬件支持或者特殊需求时——比如文中提到的情况,“用户必须先行安装特定版次之驱动程式”——则可通过编写定制化逻辑来实现自动化流程控制[^1]: - 利用 `[Run]` 小节定义一系列待执行命令序列; - 如果存在多个相互关联的任务步骤,则应合理安排先后顺序以免发生冲突错误现象。 下面给出一段可能适用于此场景的例子供参考学习: ```ini [Run] Filename: "{tmp}\driver_installer.exe"; Parameters: "/S"; StatusMsg: "正在静默模式下安装设备驱动..."; Flags: runhidden waituntilterminated skipifdoesntexist Filename: "{app}\application.exe"; Description: "启动 {#MyAppName}"; Flags: postinstall nowait unchecked ``` 在此处假设驱动名为 driver_installer.exe ,并且它接受 /S 参数表示以无人值守方式完成部署操作 。当然实际情况当中或许还需要调整更多细节参数选项才能满足最终效果预期 。 --- #### 测试与优化 最后一步就是反复测试生成出来的 .exe 文件能否顺利引导至期望状态 :从初始界面上一步步验证直至完全结束为止 。期间注意观察是否存在遗漏之处或是潜在隐患风险因素的存在可能性 。 一旦发现问题所在之后及时修正完善相应部分直到达到满意程度为之停止迭代改进过程 。 --- ### 总结 综上所述,借助于强大灵活易扩展特性的 Inno Setup 工具可以帮助开发者轻松快速构建高质量跨平台兼容性强的应用分发解决方案方案的同时还能兼顾个性化定制需求特点优势明显值得推荐尝试采用实践应用之中去检验其价值功效表现情况到底怎样样呢?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值