Qt快速入门到熟练(3.程序运行发布与设置图标)

news2024/10/7 6:46:02

程序运行发布    

    当我们执行过qt过后,将会在项目目录里面生成出一个debug构建目录,点击进去选择debug文件夹,就可以看到我们生成出来的可执行文件。

        很显然我们的项目就叫做MyFirstWidget,所以生成的可执行文件在没有人为设置的情况下,可执行文件名将会和项目名称相同。

        这时候我们双击可执行文件,就会打开这个程序,当然我们也可能会遇到下面的这种情况,显示我们找不到qt的动态链接库。

        这就说明你们并没有配置Qt的环境变量,通常情况下只需要包含QT安装路径下的mingw49_32的bin目录就可以了

        现在我们运行是不会出现这个找不到动态链接库的问题了,但是如果这个程序你要打包发送给其他人呢,其他人的电脑上可不一定安装了QT,也更加不会包含这些QT运行所需要的库,所以这时候就需要我们手动把运行需要用到的动态链接库给他包含进去。

        在手动添加动态链接库之前,我们可能还有一个疑问,就是我如果要把程序发送给别人让其他人在自己的电脑上运行,那发送的应该是发布版本的程序吧,可是现在你这里的程序是debug模式,可能说是有什么影响之类的。那么好,我们就切换一下运行模式看看生成的文件有什么区别。

        选中release模式点击运行,程序依旧是正常弹出了程序窗口,我们回到项目文件夹下,发现,又多出来一个文件夹,正是release构建出来的。

        这次我们打开release构建出的文件夹下的release文件夹,发现可执行程序相比debug模式下的程序小了几十倍,在debug模式下的可执行文件之前我们看到足足又1134kb,而release模式下构建出来的程序只有25kb,这就提示我们最好还是选用发布模式的程序打包给其他人,这样能够大大减小程序大小,减少传输时间以及所占用的存储空间的大小。

        那么说完了发布模式和debug模式,我们接下来就看如何进行手动添加动态链接库,其实也很简单,qt为我们提供了一个一键添加链接库的工具,我们只需要使用这个工具,输入对应的指令就可以了。

        首先我们找到qt的安装目录Qt5.6.1\5.6\mingw49_32\bin,在bin目录下面我们可以找到一个可执行程序,叫做windeployqt.exe。我们需要使用这个工具进行操作。

在开始菜单里面找到qt的命令提示符,打开

输入指令

windeployqt.exe D:\Project_Date\Qt\01_MyFirstWidget\build-MyFirstWidget-Desktop_Qt_5_6_1_MinGW_32bit-Release\release

注意,后面跟的路径是你们自己的所要添加链接库文件的路径,然后回车。

Before:

After:

这样以来我们就完成了对程序动态链接库的添加,把当前文件夹打包发送给其他人也能够正常运行了。

设置图标

        程序是没有问题了,但是我们发给别人的程序总不能是这种一个白框吧,你看我们日程使用的程序都会有程序的图标,那么这个图标又是怎样设置的呢。

        打开我们的工程,我们需要在.pro文件里面添加一行代码,RC_ICONS = myico.ico,其中myico.ico就是大家自己的图标文件。

然大家把自己准备的ico文件放在项目文件夹下

点击运行,ok运行出来的程序已经是有了我们自己设置的图标了

这样我们就完成了程序运行发布与设置图标的工作。

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

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

相关文章

深入理解JVM垃圾收集器

相关系列 深入理解JVM垃圾收集算法-CSDN博客 目前市面常见的垃圾收集器有Serial、ParNew、Parallel、CMS、Serial Old、Parallel Old、G1、ZGC以及有二种不常见的Epsilon、Shenandoah的,从上图可以看到有连线的的垃圾收集器是可以组合使用,是年轻代老年代…

LeetCode初级算法书Java题解日常更新

LeetCode初级算法高效题解(含思路注释) 文章目录 LeetCode初级算法高效题解(含思路注释)前言一、数组1.删除排序数组中的重复项2.买卖股票的最佳时机 II3.旋转数组4.存在重复元素 总结 前言 决定用四个月过一下算法 一、数组 1.…

全国月均太阳辐射空间分布数据/月度降雨量分布/月均气温分布

引言 我国幅员辽阔,地形复杂,位于亚欧大陆东部,太平洋西岸。气候特征为:季风气候明显,大陆性气候强,气候类型复杂多样,水热同期。我国太阳辐射西部多于东部,北部多于南部&#xff0c…

【算法基础】插入排序与二分查找、升级二分查找

文章目录 1. 插入排序1.1 插入排序的思想1.2 插入排序的实现 2. 普通二分查找2.1 普通二分查找的思想2.2 普通二分查找的实现 3. 升级二分查找3.1 升级二分查找思想3.2 升级二分查找实现 1. 插入排序 1.1 插入排序的思想 插入排序很类似于已有一副有序的扑克牌,不断…

【企业场景】设计模式重点解析

设计模式 在平时的开发中,涉及到设计模式的有两块内容: 我们平时使用的框架(比如spring、mybatis等)我们自己开发业务使用的设计模式。 在平时的业务开发中,其实真正使用设计模式的场景并不多,虽然设计号…

Excel全套213集教程

Excel全套213集教程 包含技术入门93集 图表17集 数据透视35集 公式函数68 基础入门 93节 https://www.alipan.com/s/cMxuPstkS1x 提取码: 77dd 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视…

Springboot使用教程

二、配置文件 SpringBoot使用一个全局的配置文件,配置文件名是固定的; •application.properties •application.yml 1.配置文件的作用: 修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好; Y…

【DM8】列表分区List

范围分区是按照某个列上的数据范围进行分区的,如果某个列上的数据无法通过划分范围的方法进行分区,并且该列上的数据是相对固的一些值,可以考虑使用 LIST 分区。一般来说,对于数字型或者日期型的数据,适合采用范围分区…

《价值》-张磊-高瓴资本-6-高瓴公式

第六章 高瓴公式 1.时间回报公式 所谓时间的价值,可以从这两个方面来理解: 一方面,一笔好的投资,其投资收益会随着时间的积累而不断增加,时间是好生意的朋友。另一方面,真正好的投资&#xff…

stm32与esp8266WIFI模块

硬件介绍 WIFI模块ESP-01S 使用AT指令控制1-ESP8266-AT指令初试化及部分基础知识_ch_pd-CSDN博客 项目需求 通过ESP-01SWIFI模块控制LED状态模拟插座 串口1用于与ESP8266通讯,串口2连接PC,用于打印log,查看系统状态 项目接线 将WIFI模块的…

thinkphp6中使用监听事件和事件订阅

目录 一:场景介绍 二:事件监听 三:配置订阅 一:场景介绍 在项目开发中有很多这样的场景,比如用户注册完了,需要通知到第三方或者发送消息。用户下单了,需要提示给客服等等。这些场景都有一个…

R语言 多组堆砌图

目录 数据格式 普通绘图 添加比例 R语言 堆砌图_r语言堆砌图-CSDN博客 关键点在于数据转换步骤和数据比例计算步骤&#xff0c;然后个性化调整图。 ①data <- melt(dat, id.vars c("ID"))##根据分组变为长数据 ②#计算百分比## data2 <- ddply(data, …

线上研讨会 | 新一代数字化技术赋能机器人及智能产线行业高质量发展

随着智能制造的快速推进&#xff0c;制造业转型升级到了关键阶段。越来越多的企业以数字化技术搭配智能机器人及智慧产线&#xff0c;主动实现数字化转型。达索系统3D体验平台是实现企业数字化转型的新一代数智化平台&#xff0c;基于型、数字驱动、数字化连续技术&#xff0c;…

.NET 设计模式—装饰器模式(Decorator Pattern)

简介 装饰者模式&#xff08;Decorator Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许你在不改变对象接口的前提下&#xff0c;动态地将新行为附加到对象上。这种模式是通过创建一个包装&#xff08;或装饰&#xff09;对象&#xff0c;将要被装饰的对象包裹起来…

OAuth2.0客户端和服务端Java实现

oauth2 引言 读了《设计模式之美》和《凤凰架构》架构安全篇之后&#xff0c;决定写一个OAuth2.0的认证流程的Demo&#xff0c;也算是一个阶段性的总结&#xff0c;具体原理实现见《凤凰架构》(架构安全设计篇)。 涉及到的源码可以从https://github.com/WeiXiao-Hyy/oauth2获…

【MacOs】proxychains配置使用

一、开始 1. 安装proxychains 使用brew进行安装 brew install proxychains-ng没有homebrew的&#xff0c;可以使用该命令安装 /usr/bin/ruby -e "$(curl -fsSL https://cdn.jsdelivr.net/gh/ineo6/homebrew-install/install)"2. 配置代理配置文件 cd /opt/homeb…

用Python+OpenCV截取视频中所有含有字幕的画面

1、需求背景 有的视频文件的字幕已经压制到了视频的图像中&#xff0c;不能单独提取出字幕文件。网上的 “提取视频字幕” 网站多为提取视频中的字幕文件&#xff0c;而非识别视频图像中的字幕。少数通过OCR技术识别画面中字幕的工具需要在线运行、运行速度较慢&#xff0c;或…

React - 你知道在React组件的哪个阶段发送Ajax最合适吗

难度级别:中级及以上 提问概率:65% 如果求职者被问到了这个问题,那么只是单纯的回答在哪个阶段发送Ajax请求恐怕是不够全面的。最好是先详细描述React组件都有哪些生命周期,最后再回过头来点题作答,为什么应该在这个阶段发送Ajax请求。那…

spring cloud gateway openfeign 联合使用产生死锁问题

spring cloud gateway openfeign 联合使用产生死锁问题&#xff0c;应用启动的时候阻塞卡住。 spring.cloud 版本如下 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><vers…

Labview复制文件夹下的内容到另一个文件夹下

1.程序前面板和后面板 2设置 3执行 4.执行后 5源代码 链接&#xff1a;https://pan.baidu.com/s/1u4cHmA_jUL_hptbiIhTVDA?pwdafu6 提取码&#xff1a;afu6