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.mzph.cn/news/797055.shtml

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

相关文章

idea链接gitlab的token到期

报错 HTTP Request Request GET http://36.46.143.158:6060/api/v4/version failed wit

基于javaJSPssm实现的交通档案管理系统

开发语言:Java 框架:ssm 技术:JSP JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclip…

LVS NAT、DR、FULL-NAT 模式介绍

NAT模式 NAT模式下的转发流程 1. CIP ---> VIP 当请求达到调度器时,此时请求会先达到PREROUTING链,这个时候源IP为CIP 目标IP为VIP 2. CIP ---> RIP 当内核检测到访问的IP是本机是,会将数据包发送到INPUT链,IPVS检测到数…

VM虚拟机部署code-server服务+tailscale内网穿透,实现随处coding

1.Linux下安装code-server Releases coder/code-server (github.com)https://github.com/coder/code-server/releases先去发布页面查看最新的code-server版本,下载命令示例: wget https://github.com/coder/code-server/releases/download/v4.22.1/co…

【操作系统】STM32-操作系统——持续更新

【操作系统】STM32-操作系统——持续更新 文章目录 前言一、ucosii二、freertos1.介绍2.移植 总结 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一、ucosii UCOSII移植到STM32F103C8T6上之移植记录(一) UCOSII移植到ST…

物联网实战--入门篇之(九)安卓QT--开发框架

目录 一、QT简介 二、开发环境 三、编码风格 四、设计框架 五、总结 一、QT简介 QT是一款以C为基础的开发工具,已经包含了很多常用的库,除了基本的GUI以外,还有网络、数据库、多媒体、进程通信、串口、蓝牙等常用库,开发起来…

万字长文,大数据PowerBI面试题及参考答案

1. 如何在PowerBI中创建计算列? 在PowerBI中,计算列是通过对现有数据应用公式来创建的新列。这允许用户进行更复杂的数据分析和数据准备。以下是创建计算列的基本步骤: 打开PowerBI Desktop。在“数据”选项卡中,选择“新建列”。输入新列的名称,并在公式栏中编写DAX公式…

好看流光风格个人主页HTML源码

这是一款好看流光风格个人主页HTML源码,感觉挺喜欢的,需要的自行下载! 源码下载 好看流光风格个人主页源码

数字化大变革下的企业新生态

在这个数字化大变革的时代,企业所面临的挑战和机遇。要成功应对这一变革,企业需要摆脱野蛮生长阶段,重新审视企业的基本常理和底层逻辑。中国企业发展到今天,要迎接外部环境的不确定性和高度复杂性,摆脱“大而肥、大而…

SpringBoot3整合RabbitMQ之三_工作队列模型案例

SpringBoot3整合RabbitMQ之三_工作队列模型案例 文章目录 SpringBoot3整合RabbitMQ之三_工作队列模型案例2. 工作队列模型1. 消息发布者1. 创建工作队列的配置类2. 发布消费Controller 2. 消息消费者One3. 消息消费者Two4. 消息消费者Three5. 输出结果 2. 工作队列模型 1. 消息…

SGD随机梯度下降

一、补充概念: 目标函数(Objective Function):这个术语通常指的是整个优化问题中需要最小化(或最大化)的函数。在机器学习和优化中,目标函数可以包括损失函数以及正则化项等。目标函数的最优化过…

代码随想录算法训练营day31

122_买卖股票的最佳时机(看了题解) 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后…

怎么转换图片格式jpg?分享几种转换的方法

我们都知道现在图片格式种类非常多,比较常用的有jpg、png、webp等,很多时候,我们在网上保存的照片不是jpg格式的,查看或者编辑起来就很麻烦,这时候你可能需要将图片转换成jpg格式,那怎么转换图片格式jpg呢?…

【CNN】ConvMixer探究ViT的Patch Embedding: Patches Are All You Need?

Patches Are All You Need? 探究Patch Embedding在ViT上的作用,CNN是否可用该操作提升性能? 论文链接:https://openreview.net/pdf?idTVHS5Y4dNvM 代码链接:https://github.com/tmp-iclr/convmixer 1、摘要 ViT的性能是由于T…

举个例子说明联邦学习

学习目标: 一周掌握 Java 入门知识 学习内容: 联邦学习是一种机器学习方法,它允许多个参与者协同训练一个共享模型,同时保持各自数据的隐私。 联邦学习概念(例子): 假设有三家医院,它们都希望…

我的 256天 创作纪念日

创作纪念日 我与CSDN的初识耕耘后的收获有笑有泪的日常小小的成就我的憧憬 我与CSDN的初识 在大一上学期的C语言课程中,我首次接触到CSDN。那时,面对众多难以理解的题目,我不得不频繁搜索相关知识和题解,CSDN成了我的救星。这个经…

这几个小众SaaS知识库工具原来这么好用,强烈推荐!

时代的进步和科技的发展,让我们有了更多高效的工作工具。由于云计算和SaaS(Software as a Service)的普及,越来越多的知识库工具被广大用户所知和使用。今天,就让我来为你推荐几款小众但卓效独特的SaaS知识库工具。 首…

前端将列表数据转换为树形数据的函数

大概的思路就是这个: 树状图的规则是 二级的 pid 等于 一级的 id 从这个规则进行下手 结构数据遍历数据,拆分他的数据结构 可以遍历n条的数据,主要就是通过递归的方法实现 以下就是代码案例(如有不准确的地方,欢迎各位…

vite配置postcss

1.搭建项目 pnpm create vite 2.下载postcss pnpm i postcss pnpm i postcss-pxtorem pnpm i autoprefixer 也可以去官网找其他插件下载 3.配置vite.config.js import postCssPxToRem from postcss-pxtorem import autoprefixer from autoprefixerexport default () >…

LeetCode hoot100-22

160. 相交链表给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。这道题几分钟就写出来了。应该是几年前做过,这种思想还能一直记得。所以算法题是不会白做的。 我的…