QT exe软件输出

本教程对应的软件是Qt Creater,只有绿色便携版能正常运行才能够打包成单文件版和可安装版。

一、绿色便携版

特点:给别人发送的时候需要先制作成一个压缩包文件,解压即用。 使用Qt自带的程序

1、给exe软件添加图标

exe软件的图标,而不是主窗口左上角的图标 图标分享 | 30 个免费 icon 下载网站 - 知乎

如果是自己的图片,可以提供这两个网站进行ico的转换

吱吱工具箱butterPig - 便捷智能的图片处理工具集

在线生成透明ICO图标------ICO图标制作

1.1、找到图标后下载.ico文件的图片到本地

1.2、放到工程文件根目录,然后在Qt Creator中修改pro文件,例如我的ico文件名为crt_app.ico,那么我在pro文件的最后一行加上RC_ICONS = crt_app.ico

1.3、编译运行即可

2、生成绿色便携版软件

2.1、将项目改为Release版本,这里不是必须的,改了的好处是发布的软件的体积比较小

2.2、编译后软件输出在build-PaintSystem-Desktop_Qt_5_15_14_MinGW_64_bit-Release的编译输出的目录找到对应版本下的exe程序

2.3、新建一个文件夹,把exe文件复制过去,我的文件夹叫my_exe。 后面则是添加运行环境

2.4、打开QT自带的软件,我这里的编译器是MinGW,所以选择MinGW版本

2.5、进入到刚才新建的目录(这一步很重要)

也可以单击鼠标右键,如果有终端打开,则跳过2.4与2.5

2.6、执行windeployqt 编译出来的xxxxx.exe

windeployqt xxxx.exe

2.7、执行完毕就会发现在刚才新建的目录下多了很多新文件,这都是执行刚才的命令QT自动帮我们拉取过来的运行我们的exe必须的依赖环境,在这个文件夹内双击运行我们的exe,一切正常之后就可以把这个文件夹打包发给别人了!这就是绿色便携版。

注意:如果运行还提示缺少某个dll,那就需要我们手动将这个dll复制到我们新建的目录下。

二、单文件exe版

单文件版的特点:给别人发送的是一个包含运行环境的exe文件,双击即可使用

单文件版需要借助辅助工具进行 , 使用 Enigma Virtual Box

官网Software Protection, Software Licensing, Software Virtualization

安装 Enigma Virtual Box则是一路next。

1、选择待封包的主程exe

2、选择做下角add-----选择第二项Add_Folder,然后选择刚才新建的文件夹,确认即可

3、点击文件选项-----压缩文件,然后确定即可

4、最后一步,点击Process进行封包

5、然后在我们刚才新建的文件夹下会多出来一个_boxed.exe结尾的exe文件,这个就是单文件版,可以直接把这个exe文件发送给别人,双击即可使用。

三、可安装版

特点:给别人发送安装包,需要先安装再使用。

同理,也是需要借助辅助工具进行 使用Inno Setup

官网 Inno Setup

安装 Inno Setup则是一路next。

1、选择新建,直接Next

2、设置软件的名称,软件版本号,发布者,软件的官网。

3、设置软件的安装文件夹,默认即可

4、设置可执行文件,设置可执行文件的依赖环境

5、设置关联的文件格式

6、设置开始菜单和桌面快捷方式

7、设置安装信息,如果设置了许可文件,那么双击安装包会先弹出来该文件的内容,同意了才能进行安装。

8、设置安装模式

9、设置安装语言

10、设置安装包制作后的存放位置、安装包的名称、安装包的图标(不设置是默认图标)、安装密码

11、设置#define编译指令

12、点击Finish

13、编译脚本,选择是,然后设置保存脚本的位置,完成即可在第十步设置的文件夹看到制作的安装包,双击即可安装。

相关推荐
FL162386312933 分钟前
[深度学习][python]yolov11+bytetrack+pyqt5实现目标追踪
深度学习·qt·yolo
XKSYA(小巢校长)38 分钟前
NatGo我的世界联机篇
开发语言·php
Cons.W41 分钟前
Codeforces Round 975 (Div. 1) C. Tree Pruning
c语言·开发语言·剪枝
憧憬成为原神糕手44 分钟前
c++_ 多态
开发语言·c++
VBA633744 分钟前
VBA信息获取与处理第三个专题第三节:工作薄在空闲后自动关闭
开发语言
wjs20242 小时前
XSLT 实例:掌握 XML 转换的艺术
开发语言
萧鼎2 小时前
Python第三方库选择与使用陷阱避免
开发语言·python
安冬的码畜日常2 小时前
【D3.js in Action 3 精译_029】3.5 给 D3 条形图加注图表标签(上)
开发语言·前端·javascript·信息可视化·数据可视化·d3.js
一颗星星辰2 小时前
C语言 | 第十章 | 函数 作用域
c语言·开发语言
lxp1997412 小时前
php函数积累
开发语言·php