项目打包
一款正常的软件产品应该在任何的计算机中运行,不需要单独安装Qt的开发环境,因此需要把之前的项目打包成一个安装包。
1. 设置应用图标
设置应用程序图标的操作步骤如下所示。
1. 下载一个图标图片,格式要求png。(png包含透明图层),分辨率建议256*256
2. 把png格式的图片转换为ico格式的图标文件。
PNG转ICO, 在线转换器 - 转换视频, 音乐, 图像, PDF - Office-Converter.comPNG转ICO, 在线转换器 - 转换视频, 音乐, 图像, PDF - Office-Converter.com, 使用这款免费快速在线转换器. 将pdf, 图像, 视频, 文档, 音频, 电子书及压缩等文件格式转换为其他格式。现支持超过20200多种不同格式转换。https://cn.office-converter.com/png-to-ico
Convertio — 文件转换器Convertio - 在线转换文件的简单工具。支持超过309种不同的文档、图像、电子表格、电子书、文档、演示文稿、音频和视频格式。https://convertio.co/zh/
3. 把ico文件放置到项目的工作目录中。
4. 在Qt Creator中选中项目名称,鼠标右键,点击添加新文件。
5. 在弹出的窗口中,按照下图所示进行操作。
6. 在弹出的窗口中,给文件命名为 .rc格式(一定要写格式!!!)后,点击“下一步”。
7. 在项目管理界面点击“完成”。可以看到项目中多了一个.rc文件。
8. 双击进入.rc文件的编辑状态,增加下面一行配置代码:
IDI_ICON1 ICON DISCARDABLE "XXX.ico"
XXX.ico是你的exe程序图标文件名。
9. 进入.pro项目配置文件,增加下面的配置项:
RC_FILE += XXX.rc
XXX.rc是刚刚新建的rc文件名。
10. 重新编译并运行项目,观察图标设置情况。
2. Debug与Release模式
Qt项目构建有两种模式:Debug模式与Release模式。
- Debug模式
是默认的构架模式,此模式适合开发者使用。因为生成的exe文件中包含了很多调试信息,运行速度比较慢,体积比较大。
- Release模式
此模式适合发布给用户使用,通常不包含调试信息,但是生成的可执行文件体积小,并且编译器会做专门的优化,运行速度比Debug模式快。
无论是Debug模式还是Release模式,直接从构建目录中双击运行exe文件通常都不会正常运行,会弹出一些QMessageBox
3. 动态链接库
之所以能在Qt Creator中运行项目代码,实际上是因为Qt的开发环境中包含了Qt的源代码文件,开发者的编写程序,通过API调用了这些源代码,从而保证各种功能的正常执行。
并不是所有的计算机都会安装Qt开发环境,因此把Qt源代码封装为.dll动态动态链接库文件,跟随exe文件一并打包即可使exe文件正常文件。
需要注意的是,只有Release模式下编译生成的exe文件才支持dll格式。
只需要把exe文件与dll文件放置到同一个目录中即可,在这种发布的结构下,这个目录被称为软件的根目录,充当了开发过程的工作目录与构建目录的角色,这代表了根目录中要包含图片文件、qrc文件、.db文件等。
补充dll的方法有两种:
- 使用老师基于当前Qt版本提取的常用的dll文件
这种方法操作简单,但是体积比较大,因为有一些dll项目用不到。
- 使用Qt自带的windeployqt工具提取exe所需的dll文件
操作步骤如下:
1. 点击Win图标,进入所有应用,找到Qt下面的
2. 在黑窗口(命令行)中定位到exe文件所在的位置。
dir 显示当前目录的内容
cd 文件夹名称 进入当前目录的子文件夹
cd.. 进入当前目录的上一级
盘符 切换磁盘
3. 定位到exe所在目录后,执行下面的命令。
windeployqt 程序名称.exe
4. 再次尝试运行exe文件还是无法运行,此时需要手动“缺啥补啥”。注意计算机同文件名的dll动态链接库文件大小可能不同,请擦亮眼睛!
5.补全文件后点击.exe文件即可运行。
4.程序打包
程序打包工具不是Qt的内容,市面上有很多类似的软件。
打包教程可以参考:
QT 程序使用iSetup打包成setup安装包_isetup的使用_小五呀~的博客-CSDN博客