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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/665625.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[word] 怎么将word文档中的文字转换成一个4行5列的表格 #职场发展#笔记#经验分享

怎么将word文档中的文字转换成一个4行5列的表格 怎么将word文档中的文字转换成一个4行5列的表格? 将文档中的四行文字转换成一个4行5列的表格的具体步骤如下: 1、首先打开需要编辑的Word文档,进入到编辑页面中。 2、然后选中需要编辑的文字…

Unity3d C# 在WebGL平台加载并解析xml文件实现总结

前言 xml是可扩展标记语言,由一系列的元素、属性、值节点等构成的一个树形结构,除了可读性差一点,别的用于存储一些结构化的数据还是比较方便的。这个功能在Unity3d端的实现是比较方便快捷的: void GetXML1() {string filePath …

web前端------弹性盒子

display属性,用于指定元素的盒子类型。 属性值flex,表示生成一个弹性容器,简称容器。 容器中每一个子元素都叫做项目。 我们知道了弹性盒子由容器和项目组成。 而CSS中提供了很多属性来实现弹性布局,按照作用范围的不同&#…

顺序表:数据结构的建筑积木

朋友们大家好啊,本节内容我们进入数据结构的第二节,顺序表有关内容,同步我们会学习计组原理与cpp相关知识,求三连啊! 本节我们重点探讨动态顺序表关于插入数据和删除数据的多种情况的分析 顺序表 线性表顺序表静态顺序…

[职场] 研发工程师的简历该怎么写 #学习方法#媒体#学习方法

研发工程师的简历该怎么写 研发工程师的工作内容有: 根据开发项目的要求,制订机械结构、外形的设计方案。 按时完成上级分配的机械、外形设计任务。 负责自己设计的结构及外形安装,并解决安装过程中出现的问题。 协助设计产品的材料选购…

前端JavaScript篇之JavaScript有哪些内置对象

目录 JavaScript有哪些内置对象常见的内置对象的简单描述和参考代码总结 JavaScript有哪些内置对象 JavaScript中常见的内置对象包括: Object:用于创建对象的构造函数,对象是键值对的集合,用于存储和传递数据。 Array&#xff1…

python计算两个DataFrame的指定两列中,相同的数据有多少

目的:查询数据1和数据2中,red与red列相同 并且blue与blue列相同的,情况有多少。 (备注:两个数据中格式不一致,需要经过json提取等处理步骤) 思路步骤: 1、读取数据1,筛选…

【MongoDB】跨库跨表查询(python版)

MongoDB跨表跨库查询 1.数据准备:2.跨集合查询3.跨库查询应该怎么做? 讲一个简单的例子,python连接mongodb做跨表跨库查询的正确姿势 1.数据准备: use order_db; db.createCollection("orders"); db.orders.insertMan…

2021-10-12 51蛋骗鸡数码管前7位显示1-7第8位显示0-9

缘由 51单片机数码管问题-编程语言-CSDN问答 #include "REG52.h" sbit K1 P3^0; sbit K2 P3^1; sbit K3 P3^2; sbit K4 P3^3; bit k1,wk0; unsigned char code SmZiFu[]{63,6,91,79,102,109,125,7,127,111,128,255,64};//0-9.消隐- unsigned char Js0,miao0,fen…

【MIT 6.S081】2020, 实验记录(5),Lab: lazy allocation

目录 Task 1: Eliminate allocation from sbrk()Task 2: Lazy allocationTask 3: Lazytests and Usertests 在学习了 page fault 这一节课后,了解了操作系统是如何结合 page table 和 trap 利用 page fault 来实现一系列的神奇的功能。这个 lab 就是在 XV6 中实现 l…

Codeforces Round 651 (Div. 2)C 博弈 奇偶数 偶数的表示

Submission #244500083 - Codeforces 题目: 思路: 此题要从奇偶性上入手。(注意除的是奇因数,即一个奇数。我想成质数了) 1.当A选手开局是1时,A败。 2.当A选手开局是2和奇数时,A必胜。&…

【Qt加密播放器】登录窗口功能补充

输入框小设计 目的:实现鼠标点击输入框时的聚焦效果。 首先在LoginForm构造函数中为账号和密码输入框添加事件过滤器。关于事件过滤器的具体介绍可以参考这篇博文:Qt消息机制和事件 ui->nameEdit->installEventFilter(this); ui->pwdEdit->…

常用换源总结

1.Ubuntu16.04更换国内源 在Ubuntu系统上使用apt-get install进行软件安装或更新的时候,由于使用的是国外源,导致下载速度很慢或者连接超时,需要更换下载源。 1.将系统原始的源文件进行备份 sudo cp /etc/apt/sources.list /etc/apt/source…

docker踩坑记录

踩坑记录 1.1 后台启动容器,实际没有启动 现象: 后台启动centos,结果执行docker ps命令,容器没启动。 原因: docker是以容器启动的,必须要有个前台进程,若是全部都是后台deamon守护进程&…

ChatGPT实战100例 - (12) 结构化提示词 LangGPT 实战

文章目录 ChatGPT实战100例 - (12) 结构化提示词 LangGPT 实战一、LangGPT是什么?二、远古诗人 vs 现代诗人三、LangGPT Role模板实战 - 甩锅王Role模板特征提取四、 用AI实现提示词结构化ChatGPT实战100例 - (12) 结构化提示词 LangGPT 实战 一、LangGPT是什么? 随着大模型…

代码随想录算法训练营第42天 | 01背包问题,你该了解这些! 01背包问题,你该了解这些! 滚动数组 416. 分割等和子集

目录 01背包问题,你该了解这些! 01 背包 二维dp数组01背包 💻实现代码 01背包问题,你该了解这些! 滚动数组 一维dp数组(滚动数组) 💻实现代码 416. 分割等和子集 &#x1f…

前后端数据校验

前端校验内容 前端开发中的必要校验,可以保证用户输入的数据的准确性、合法性和安全性。同时,这些校验也有助于提供良好的用户体验和防止不必要的错误提交到后端。 1、必填字段校验: 对于必填的字段,需确保用户输入了有效的数据…

二叉树可视化

二叉树可视化 运行演示代码和程序已上传二叉树知识平衡二叉树红黑树最优二叉搜索树哈夫曼树KD树B树和B树 参考 运行演示 学习二叉树总是脑补图像,实在是恶心,就想写一个能可视化的二叉树,结果没控制好,功能越想越多,先…

红日三打靶!!!

红日三,黑盒测试 环境搭建一.外网打点1.网段探测2.端口服务扫描3.目录扫描4.网站漏洞扫描5.汇总,找破绽6.登陆MySQL改密码 7.进入后台,找能写马的地方8.蚁剑连接9.disable_functions绕过1.蚁剑插件绕过2.bypass_disablefunc_via_LD_PRELOAD绕…

Django模型(四)

一、数据操作初始化 from django.db import models# Create your models here. class Place(models.Model):"""位置信息"""name = models.CharField(max_length=32,verbose_name=地名)address = models.CharField(max_length=64,null=True,verbo…