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

程序运行发布    

    当我们执行过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.rhkb.cn/news/302255.html

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

相关文章

什么是国密SSL证书,和其他SSL证书的区别?

我们要了解什么是SSL证书。SSL(Secure Sockets Layer,安全套接层)是一种安全协议,主要用于在互联网上对通信双方进行身份验证以及保障数据的安全传输。而SSL证书则是由权威的数字证书认证机构签发的,用于证明网站身份的…

Spring事务简介,事务角色,事务属性

1.Spring事务简介 事务作用:在数据层保障一系列的数据库操作同成功同失败Spring事务作用:在数据层或业务层保障一系列的数据操作同成功同失败 public interface PlatformTransactionManager{void commit(TransactionStatus status) throws TransactionE…

武汉星起航:跨境电商新航标,打造卓越卖家孵化平台!

在全球经济一体化的浪潮下,跨境电商行业蓬勃发展,成为推动国际贸易增长的新引擎。在这个充满挑战与机遇的舞台上,武汉星起航电子商务有限公司以其深厚的自营经验和专业的卖家孵化服务,成为跨境电商领域的璀璨明星。 武汉星起航电…

ESP32cam 摄像头 AIcam 全球远程视频监控的实现方法

AIcam远程视频监控 ​ 在学习应用各种物联网创客场景时我们时常会用到远程视频监控,当然我们可以通过发送图片的方式的来远程查看,但如果能视频查看将会更加的生动,比如在公司查看家里宠物的动态,鱼儿的活动情况。。。。。。 这个…

查看MySQL版本的方式

文章目录 一、使用cmd输入命令行查看二、在mysql客户端服务器里查询 一、使用cmd输入命令行查看 1、打开 cmd ,输入命令行: mysql --version 2、还是打开cmd,输入命令行:mysql -V (注意了,此时的V是个大写的V) 二、…

C++set和map详细介绍

文章目录 前言一、关联式容器和序列式容器二、set1.set文档介绍2.set成员函数1.构造函数2.迭代器3.容量4.修改5.其他 三.multiset四.map1.map文档介绍2.map成员函数1.构造2.insert插入3.count4.迭代器5.【】和at 五.multimap总结 前言 在本篇文章中,我们将会学到关…

构建第一个ArkTS之页面和自定义组件生命周期

在开始之前,我们先明确自定义组件和页面的关系: 自定义组件:Component装饰的UI单元,可以组合多个系统组件实现UI的复用,可以调用组件的生命周期。页面:即应用的UI页面。可以由一个或者多个自定义组件组成&…

vue3+Ts+Ant Design Vue +天地图组件封装

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Vue3TsAntDesign-Vue组件天地图组件的封装 示例图 首先,在index.html引入天地图资源,vue3选择v4版本 <script src"http://api.tianditu.gov.cn/api?…

Spring之AOP的详细讲解

目录 一.SpringAOP是什么&#xff1f; 1.1理论知识点 1.2简单的AOP例子 二.SpringAOP的核心概念 2.1切点(Pointcut) 2.2通知&#xff08;Advice&#xff09; 2.3切⾯(Aspect) 2.4通知类型 2.5切⾯优先级 Order 2.6切点表达式 2.6.1 execution表达式 2.6.2annotati…

深入C语言内存:数据在内存中的存储

一、数据类型 1. unsigned&#xff1a;无符号数类型 当一个数是无符号类型时&#xff0c;那么其最高位的1或0&#xff0c;和其它位一样&#xff0c;用来表示该数的大小。 2.signed&#xff1a;有符号数类型 当一个数是有符号类型时&#xff0c;最高数称为“符号位”。符号位为1…

k8s知识

k8s是用于容器编排和管理的&#xff0c;docker或者ctr是k8s的运行时&#xff0c;k8s通过容器运行时来启动容器&#xff0c;容器启动需要镜像&#xff0c;镜像可以用docker构建&#xff0c;dockerfile就是用于自定义如何构建镜像&#xff0c;所以上面那套流水线就是先用dockerfi…

【Linux】TCP编程{socket/listen/accept/telnet/connect/send}

文章目录 1.TCP接口1.1socket文档 1.2listen拓&#xff1a;端口号8080 1.3accept拓&#xff1a;今天全局函数 1.4读写接口1.5telnet1.一个客户端2.两个客户端 1.6ulimit -a1.7常识回顾1.8connect1.9拓&#xff1a;客户端的ip和地址什么时候被分配&#xff1f;1.10拓&#xff1a…

Linux应用开发(3):Linux时间操作(time、mktime、localtime等)

1. 简述 在Linux系统中&#xff0c;时间操作函数是编程中经常使用的一部分&#xff0c;它们允许程序获取和设置系统时间&#xff0c;以及对时间进行各种处理。以下是一些常用的时间操作函数的详细介绍。 2. 时间操作 &#xff08;1&#xff09;time(): 获取1970年1月1日以来的…

18 Games101 - 笔记 - 高级光线传播与复杂外观建模

**18 ** 高级光线传播与复杂外观建模 本章虽然是高级光线传播与复杂外观建模&#xff0c;但是都没有展开讲&#xff0c;不涉及具体的计算。 高级光线传播 无偏的光线传播&#xff1a;如果无论样本多少&#xff0c;算出来的期望值永远是对的。例如蒙特卡洛积分&#xff0c;它…

vue3中使用webstocket

1.在项目中创建webstocket.ts文件 export default class SocketService {// 单例static instance null;static get Instance() {if (!this.instance) {this.instance new SocketService();}return this.instance;}// 和服务端连接的socket对象ws null;// 存储回调函数callB…

nestjs 全栈进阶--nest生命周期

视频教程 12_nestjs生命周期_哔哩哔哩_bilibili 所有应用程序元素都有一个由 Nest 管理的生命周期。Nest 提供了生命周期钩子&#xff0c;提供了对关键生命时刻的可见性&#xff0c;以及在关键时刻发生时采取行动(在你的module&#xff0c;injectable或者controller中注册代码…

ddres( ) 组站星双差方程和设计矩阵

1 ddres( )参数介绍 rtklib中进行的单频解算 双差观测值&#xff0c;单差的模糊度 单频点双差 DD (double-differenced) phase/code residuals ------------------------------ x 模糊度 P 方差-协方差阵 sat 共识卫星列表 ns 共识卫星数量 y…

Qt | Q_PROPERTY属性和QVariant 类

一、属性基础 1、属性与数据成员相似,但是属性可使用 Qt 元对象系统的功能。他们的主要差别在于存取方式不相同,比如属性值通常使用读取函数(即函数名通常以 get 开始的函数)和设置函数(即函数名通常以 set 开始的函数)来存取其值,除此种方法外,Qt 还有其他方式存取属性值…

DFS:深搜+回溯+剪枝解决排列、子集问题

创作不易&#xff0c;感谢三连支持&#xff01;&#xff01; 一、全排列I . - 力扣&#xff08;LeetCode&#xff09; class Solution { public://全局变量vector<vector<int>> ret;vector<int> path;bool check[6];vector<vector<int>> perm…

DDD 的四层领域模型是怎样的?包含哪些基础概念?

DDD的四层领域模型如下所示&#xff1a; 展现层&#xff1a;这一层负责向用户显示信息和解释用户命令&#xff0c;完成前端界面逻辑。并将用户请求传递给应用层。应用层&#xff1a;这一层是很薄的一层&#xff0c;负责协调领域层中的领域对象&#xff0c;组成具体应用场景。应…