当前位置: 首页 > news >正文

#【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】

【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】

  • 1、前言
  • 2、实验环境
  • 3、继续实验,先行文档
  • 4、修改软件名称,加入图标。
      • 1、修改软件名称
      • 2、换个图标
  • 5、生成release版本的exe文件,并且加入附带文件。
      • 1、切换到release版本运行。
      • 2、找到文件夹,将exe文件考到桌面的一个文件夹里。
      • 3、找到工具qt 5.12.9(MinGWxxxx)。
      • 3、运行文件,生成。
  • 6、使用软件打包
      • 1、打包软件
      • 2、使用软件打包
  • 7、细节
      • 1、转换网站,图标转换问题
      • 2、文件夹名称不要有中文,建议打包完成文件分开
  • 8、打包好的软件
  • 9、总结

1、前言

作为qt的初学者,开始入门qt的时候,很多东西其实也不是很会,调试好的软件如何发给别人使用,如何去做,也不是很清除的,自己也查了很多资料才渐渐明白。

2、实验环境

实验环境还是挺重要的,因为有时候,在你电脑上能运行的东西,在别人的电脑就不一定能运行,这一部分的原因就可能是实验版本不一样。
系统环境:window环境
QT软件版本:qt 5.14.2
在这里插入图片描述

安装教学:是根据“正点原子”教学安装的软件。
文档链接:https://download.csdn.net/download/qq_22146161/86502225
在这里插入图片描述

3、继续实验,先行文档

之前,一直就强调,不要重复造轮子,所以本测实验,不会从建立项目文件方面简绍,但又考虑到初学者,因为我也是这么过来,请看看这文章,那里有说明,本次代码也是直接沿用那份代码。
先行文章:#【QT 整体窗口拖动大小,内部控件无法跟随改变的原因>>>>>解决:布局相关,布局设置】
(1)第一步建立工程,布局完成后,>>运行测试。
代码链接:https://download.csdn.net/download/qq_22146161/86502729
我这里直接使用上个实验代码,打开项目后直接运行,效果如下。
在这里插入图片描述

4、修改软件名称,加入图标。

1、修改软件名称

(1)点击xxx.ui文件,如下图,会进入设计页面。
在这里插入图片描述
(2)然后,点击Widget,找到选项"windowTitle",编辑想要名称,我这软件,其实是为了以后做串口调试用,所以起名“我的串口软件”,(PS:名字什么的,看自己喜欢啦~~)。
在这里插入图片描述

写完后,“CTRL+R”运行下,,可以看到名字已经改变了。
在这里插入图片描述

2、换个图标

图标,故名思意,就是显示在桌面上图标。
我也查了些资料的,这里将链接放在下面。
参考链接:https://blog.csdn.net/weixin_45426095/article/details/120909449

大概拆成了几个步骤:
(1)网上搜索找个自己喜欢的图标,说白了去网上下载一个,或者自己画一个也行。 我这个和串口相关,我搜索图标如下。
在这里插入图片描述
(2)一般图片格式的照片,需要转换一下,才能当作图标。根据上述,参考链接中说明,我们去如下网站,转换图片格式。
转换图标网站:https://www.aconvert.com/cn/image/
在这里插入图片描述
我们选择需要转换的文件,然后根据文件大小,选择合适尺寸,具体操作如下图。
在这里插入图片描述
等待转换完成,完成后,我们将文件下下载下来。有时可能不成功,多尝试更改选项。
在这里插入图片描述
(3)下载完成后,更改图标名称,放在工程文件同一个目录下。
在这里插入图片描述
(4)在test_dome.pro文件加入一段代码>>“RC_ICONS = test_dome_ico_file.ico”,让软件知道,图标文件。
在这里插入图片描述

“CTRL+R”运行看效果。
在这里插入图片描述

5、生成release版本的exe文件,并且加入附带文件。

1、切换到release版本运行。

这部分也是参考了网上的资料。

参考链接:https://blog.csdn.net/qq_39054069/article/details/96481902

一般来说切换的意义,在于精简一些东西,调试随便弄,发布的版本,该精简的部分,还是要精简的,这是我个人对于debug版本切换到release版本理解。
在这里插入图片描述
“Ctrl+R”运行一下,就会生成一个release版本文件夹。
在这里插入图片描述

2、找到文件夹,将exe文件考到桌面的一个文件夹里。

这部其实将将文件,提取出来,不要和其它文件混淆,并且方便打包,放在桌面是为了方便查找,另外目录文件命名不要用中文
在这里插入图片描述

3、找到工具qt 5.12.9(MinGWxxxx)。

是然后输入目录“cd /d xxx目录”。
在这里插入图片描述

3、运行文件,生成。

输入 windeployqt + 文件名字。工具就会将送需要文件帮我们弄好。
在这里插入图片描述
这回点击exe文件,没什么问题的话,一般就是可以运行的了。
在这里插入图片描述

6、使用软件打包

为什么要打包呢,其实就是起来文件太多了,感觉不清爽,所以才进行打包。

1、打包软件

具体参考链接:https://blog.csdn.net/a137748099/article/details/113186924
我本次使用的软件:https://download.csdn.net/download/qq_22146161/86504639

2、使用软件打包

(1)点击打开软件,选择exe文件
在这里插入图片描述
(2)选择要保存文件夹,并重新命名。
在这里插入图片描述
(3)添加文件目录,如下图是命名好的软件名称。在这里插入图片描述
(4)添加文件
在这里插入图片描述
在这里插入图片描述
(5)选择要锁文件
在这里插入图片描述
(6)打包
在这里插入图片描述

(7)运行软件

在这里插入图片描述

7、细节

1、转换网站,图标转换问题

有时候图片转换网站,可能转换不成功,多尝试。
在这里插入图片描述

2、文件夹名称不要有中文,建议打包完成文件分开

在这里插入图片描述

8、打包好的软件

代码以及工具向上找,下边是生成好的软件
打包好的软件: https://download.csdn.net/download/qq_22146161/86504692

9、总结

以上是次实验内容了。

相关文章:

  • 【操作系统】—— 第一章 基本概述
  • vscode配置c/c++环境,VScode编译环境
  • 【Wordpress】docker环境下wordpress网站安装ssl/tls证书
  • 图像处理-高斯滤波器与图像的关系
  • Java实现银行卡号校验
  • 15张超详细的Python学习路线图,纯良心分享,零基础学习宝典
  • 虚拟机安装Arch Linux
  • 云计算推动重塑与转型,游戏行业进入以技术驱动“新纪元”
  • 22年8月工作笔记整理(前端)
  • 11---OpenCV:图像进阶操作之①轮廓②凸包操作
  • C语言运算符与表达式
  • Python从入门到实践:字节串与字符串
  • k8s教程:使用cert-manager证书管理工具在集群中提供https证书并自动续期
  • MIKE水动力笔记13_数字化海图2之克里金插值
  • QuantLib 金融计算库
  • 时间复杂度分析经典问题——最大子序列和
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • C++入门教程(10):for 语句
  • classpath对获取配置文件的影响
  • JavaScript标准库系列——Math对象和Date对象(二)
  • Laravel 中的一个后期静态绑定
  • Material Design
  • vue:响应原理
  • Vue--数据传输
  • 从零开始在ubuntu上搭建node开发环境
  • 好的网址,关于.net 4.0 ,vs 2010
  • 近期前端发展计划
  • 爬虫模拟登陆 SegmentFault
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 赢得Docker挑战最佳实践
  • 栈实现走出迷宫(C++)
  • scrapy中间件源码分析及常用中间件大全
  • #if #elif #endif
  • %@ page import=%的用法
  • (52)只出现一次的数字III
  • (rabbitmq的高级特性)消息可靠性
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (二)斐波那契Fabonacci函数
  • (一) springboot详细介绍
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • **PHP二维数组遍历时同时赋值
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .mysql secret在哪_MYSQL基本操作(上)
  • .net 程序发生了一个不可捕获的异常
  • .NET 动态调用WebService + WSE + UsernameToken
  • .net 设置默认首页
  • .net/c# memcached 获取所有缓存键(keys)
  • .NET轻量级ORM组件Dapper葵花宝典
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • @AutoConfigurationPackage的使用
  • [AIGC] 使用Curl进行网络请求的常见用法
  • [Assignment] C++1