Qt程序图标更改以及程序打包

Qt程序图标更改以及程序打包

  • 1 windows
    • 1.1 cmake
      • 1.1.1 修改.exe程序图标
      • 1.1.2 修改显示页面左上角图标
    • 1.2 qmake
      • 1.2.1 修改.exe程序图标
      • 1.2.2 修改显示页面左上角图标
  • 2 程序打包
    • 2.1 MinGW
    • 2.2 Visual Studio
  • 3 参考链接

1 windows

1.1 cmake

1.1.1 修改.exe程序图标

  1. 获得一个logo.ico图标(假设这个ico图标的名称为logo)
    在这里插入图片描述

  2. 创建一个名称为logo.txt文件,在文件中添加下面一行文本

    DI_ICON1     ICON    DISCARDABLE     "logo.ico"
    

    然后将.txt修改为.rc

  3. 在QT工程中添加资源文件,并将logo.icologo.rc添加到资源文件中,具体步骤是右键点击02-PictureToIcon=>添加新文件=>创建QT Resource File=>右键点击资源文件images.qrc=>选择添加现有文件,添加logo.ico和logo.rc

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 修改cMakeLists内容
    if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
    qt_add_executable(02-PictureToIconMANUAL_FINALIZATION${PROJECT_SOURCES}images.qrc
    )
    
    在上面代码中添加资源文件路径images/logo.rc
    if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
    qt_add_executable(02-PictureToIconMANUAL_FINALIZATION${PROJECT_SOURCES}images.qrcimages/logo.rc
    )
    
  2. 重新编译即可修改02-PictureToIcon.exe程序图标
    在这里插入图片描述

1.1.2 修改显示页面左上角图标

  1. 首先按照1.1.1中的方法将logo.ico添加到资源文件中
  2. 在ui界面进行设置,具体步骤为点击黑色下三角=>选择资源文件=>选择logo.ico
    在这里插入图片描述
  3. 重新运行即可,可以看到左上角变为了logo.ico图标了
    在这里插入图片描述

1.2 qmake

1.2.1 修改.exe程序图标

按照1.1.1中的方法将logo.ico添加到资源文件中,然后在01-HelloWorld.pro中的最后添加下面代码,images是创建的资源文件的名字

RC_ICONS = images/logo.ico

添加之后必须对这个项目进行重新构建
在这里插入图片描述
然后直接运行,可以从结果中看到,01-HelloWorld.exe的程序图标已经改变
在这里插入图片描述

1.2.2 修改显示页面左上角图标

这个实现过程与1.1.2一样
在这里插入图片描述

2 程序打包

2.1 MinGW

  1. 在使用MinGW进行编译运行,生成.exe文件后,经.exe移动到一个新的文件夹中
    在这里插入图片描述

  2. 然后打开QT 6.7.2 (MinGW 11.2.0 64-bit),类似于cmd的方式进入到上面的文件中
    在这里插入图片描述

    在这里插入图片描述

  3. 然后直接运行下面代码,即打包完成

    windeployqt 02-PictureToIcon.exe
    
  4. 可以直接点击02-PictureToIcon.exe,运行程序
    在这里插入图片描述

2.2 Visual Studio

  1. 在使用MSVC2022进行编译运行,生成.exe文件后,经.exe移动到一个新的文件夹中
  2. 然后打开QT 6.7.2 (MSVC 2019 64-bit),剩下的步骤跟2.1中一样,最终的结果如下图所示。
    在这里插入图片描述

3 参考链接

  1. 2024最新QT图形界面开发教程,这个是B站视频,里面包括qt程序打包,制作合并包,制作安装包等入门教程,是很好的
  2. Qt程序图标更改以及打包发布生成可独立运行的exe文件
  3. cmake管理qt项目,设置windows和linux下生成的程序图标,以及任务栏显示设置的图标

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

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

相关文章

重要的单元测试

👽System.out.println(“👋🏼嗨,大家好,我是代码不会敲的小符,目前工作于上海某电商服务公司…”); 📚System.out.println(“🎈如果文章中有错误的地方,恳请大家指正&…

docker将Java、vue、nginx打进镜像(涉及容器打成镜像)

一、背景 一个项目更新需要打成镜像包发布。 dockerspringboot.jarvue静态文件nginx 本文不讲安装docker,安装好安装,镜像源稍微麻烦点 二、操作 抄作业原文 传送门 按照上文拉取centos7,然后将需要的东西直接打进脚本,这样最简单&#…

云原生、Serverless、微服务概念

云原生(Cloud Native) 云原生是一种设计和构建应用程序的方法,旨在充分利用云计算的优势。云原生应用程序通常具有以下特征: 容器化:应用程序和其依赖项被打包在容器中,确保一致的运行环境。常用的容器技…

【Git分支管理】分支2种合并模式

目录 0.回顾 1.ff模式 2.no-ff模式 3.ff模式转no-ff模式 先提交再合并再提交 0.回顾 前面介绍了两种情况总结如下: master没有修改提交,在dev中修改提交,master和dev合并顺利master修改提交的同时dev也修改提交了,产生合并…

【数据结构】高效解决连通性问题的并查集详解及Python实现

文章目录 1. 并查集:一种高效的数据结构2. 并查集的基本操作与优化2.1 初始化2.2 查找操作与路径压缩2.3 合并操作与按秩合并 3. 并查集的应用3.1 判断连通性3.2 计算连通分量 4. 并查集的实际案例4.1 图的连通性问题4.2 网络连接问题 5. 并查集的优缺点5.1 优点5.2…

每天一个数据分析题(四百三十一)- 卡方检验

在列联表分析中,下列不能用卡方检验的是() A. 多个构成的比较 B. 多个率的比较 C. 多个均值的比较 D. 以上都不是 数据分析认证考试介绍:点击进入 题目来源于CDA模拟题库 点击此处获取答案 数据分析专项练习题库 内容涵盖…

HTTP——POST请求详情

POST请求 【传输实体文本】向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在POST请求体中。POST 请求可能会导致新的资源的建立或已有资源的修改。 场景: 1. 提交用户注册信息。 2. 提交修改的用户信息。 常见的…

BernNet Learning Arbitrary Graph Spectral Filters via Bernstein Approximation

发表于:neurips21 推荐指数: #paper/⭐⭐ 设定:在本文中,h是过滤器. bernstein 多项式逼近(这个证明有点稀里糊涂的,反正我觉得一点点问题,可能因为我水平低) p K ( t ) : ∑ k 0 K θ k ⋅ b k K ( t ) ∑ k 0 K f ( k K ) ⋅ ( K k ) ( 1 − t ) K − k t k . p_K(t):…

构建加速器:在Gradle中利用构建缓存提升性能

构建加速器:在Gradle中利用构建缓存提升性能 Gradle作为当今流行的构建工具,提供了多种方式来优化构建速度和效率。其中,Gradle构建缓存是一项强大的功能,它允许重用先前构建的输出,从而显著减少构建时间。本文将深入…

大数据hive表和iceberg表格式

iceberg: https://iceberg.apache.org/ iceberg表,是一种面向大型分析数据集的开放表格式,旨在提供可扩展、高效、安全的数据存储和查询解决方案。它支持多种存储后端上的数据操作,并提供 ACID 事务、多版本控制和模式演化等特性&#xff0c…

【常见开源库的二次开发】基于openssl的加密与解密——Base的编解码(二进制转ascll)(二)

目录: 目录: 一、 Base64概述和应用场景 1.1 概述 1.2 应用场景 二、Base16 2.1 Base16编码 2.2 Base16编解码 三、Base64 四、OpenSSL BIO接☐ 4.1 Filter BIOs: 4.2 Source/Sink BIOs: 4.3 应用场景: 4.4 具体使用&…

Spark核心技术架构

Apache Spark是一个开源的分布式计算系统,它提供了一个快速、通用和易于使用的集群计算环境。Spark 支持多种编程语言,如 Scala、Java 和 Python,并针对大规模数据处理进行了优化。以下是 Spark 技术架构的详细简述: 1. 核心组件…

设计模式学习(二)工厂模式——抽象工厂模式

设计模式学习(二)工厂模式——抽象工厂模式 背景抽象工厂模式优点与缺点参考文章 背景 现在我需要开发一个相机操作模块,它可能在Windows下运行,也可能在Linux下运行。由于在厂家提供的SDK中,Windows下的SDK和Linux下…

【JVM】JVM实战笔记-随笔

JVM实战笔记-随笔 前言字节码如何查看字节码文件jclasslibJavapArthasArthurs监控面板Arthus查看字节码信息 内存调优内存溢出的常见场景解决内存溢出发现问题Top命令VisualVMArthas使用案例 Prometheus Grafana案例 堆内存情况对比内存泄漏的原因:代码中的内存泄漏并发请求问…

Nginx配置:处理内部和外部请求的配置方法

Nginx配置:处理内部和外部请求的高级技巧 在现代Web应用程序架构中,正确配置反向代理服务器对于确保应用程序的安全性和性能至关重要。本文将深入探讨如何使用Nginx配置来有效管理内部和外部请求,特别是在处理不同访问控制需求的情况下。 背…

代谢组数据分析(十四):代谢物组间网络分析(spearman coefficient)

介绍 在代谢物网络分析领域,研究者采用斯皮尔曼系数来定量评估代谢物之间的相关性。该系数作为一种有效的非参数统计工具,能够揭示代谢物间潜在的关联模式,不受它们分布特性的限制。通过计算所有代谢物配对间的斯皮尔曼系数,研究者能够构建出反映代谢物相互关系的网络。 …

03. Java 条件查询

1. 前言 在 MySQL 中使用 select 查询语句的时候,一般都会加上 where 语句或者 limit 语句限定查询结果的范围,两种子句都是过滤的作用。另外还有和 group by 语句配合使用的 having 限制条件。区分 where 和 having 语句的作用也是比较基础的题目。 2.…

OpenCV教程:cv2图像逻辑运算

-------------OpenCV教程集合------------- Python教程99:一起来初识OpenCV(一个跨平台的计算机视觉库) OpenCV教程01:图像的操作(读取显示保存属性获取和修改像素值) OpenCV教程02:图像处理…

Git钩子Hook功能

💾 Hook 钩子 目录 🔔 简介🔔 常见类型🔔 如何配置🔔 使用场景🔔 示例 🔔 简介 Git Hooks是Git内置的一种机制,允许在特定事件发生时执行自定义脚本。Git Hook可以在客户端和服务器端…

PHP多功能投票微信小程序系统源码

🎉一键决策,尽在掌握!多功能投票小程序,让选择不再纠结🤔 📲【开篇:告别传统,拥抱便捷投票新时代】📲 还在为组织投票活动手忙脚乱?或是面对众多选项犹豫不…