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

[Qt]设置窗口图标和EXE应用程序图标

[Qt]设置窗口图标和EXE应用程序图标

https://cloud.tencent.com/developer/article/1596391

 

 

原创文章

原文链接:https://blog.csdn.net/humanking7/article/details/85233449


文章目录

  • @[toc]
  • 设置窗口图标
    • Step1
    • Step2
  • 设置EXE图标
    • Step1
    • Step2

设置窗口图标

Step1

添加图片资源到qtqrc文件(qt资源文件)中,可以用自带的Qt Resource Editor编辑,也可以直接用文本编辑(没有qrc资源文件可以自己新建一个)。

 

以文本文件形式打开,如下所示,其中

<RCC>
    <qresource prefix="/">
        <file>icon/hsq_128.ico</file>
        <file>icon/Main_64.ico</file>
        <file>icon/MainB_64.ico</file>
        <file>icon/Set_64.ico</file>
    </qresource>
</RCC>

Step2

在主窗口的构造函数中,设置窗口图标,注意调用资源文件不要忘了加冒号(:),不然编译时候找不到资源文件(图片)。

Simulation_PlaneData::Simulation_PlaneData(QWidget *parent)
	: QMainWindow(parent)
{
		ui.setupUi(this);		
		//设置窗口图标
		setWindowIcon(QIcon(":icon/hsq_128.ico"));//图标-哈士奇诡异的笑容		
		// ...
}

 

设置EXE图标

但是上述改动却不会改变EXE的图标,按照qt助手提供的方法,可以进行实现。

 

Step1

新建一个文本文件,后缀名为.rc ,这里我的文件为res.rc,文件中输入代码:

IDI_ICON   ICON    DISCARDABLE     ".\\icon\\hsq_128.ico"

帮助文档说的是IDI_ICON1,而我使用IDI_ICONIDI_ICON2也ok,我就有点懵逼,对于这个资源文件语法,估摸着要去查查MFC的文档,不过这已经不重要了。对于LinuxOS X的图标,qt助手也有介绍。

Step2

res.rc文件加入工程,对于VS而言特别方便,如果用Qt Creator就照着帮助,加入.pro文件即可。

然后编译,OK。

 

以上,Enjoy~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享

 

 

 

 

 

 

 

 

 

 

相关文章:

  • 蓝噪声取样(Blue noise sampling) 相关知识
  • 关于cmd运行自动进行远程连接(自动填写用户及密码)
  • mstsc保存用户名和密码,实现自动登录远程桌面
  • mstsc命令详解
  • Loading.UpdatePreloading是什么东西,为什么会突然那么高?
  • unity中Loding.UpdatePreloading占用CPU过高如何解决?
  • [总结] 漫谈HDR和色彩管理(四)HDR标准和ACES
  • 视频名词浅析——HDR
  • 虚幻引擎学习之路:渲染模块之全局光照明
  • 我所理解的DirectX Ray Tracing
  • Unity 曲线插值(Hermite插值和Catmull_Rom插值)
  • 参数化曲线:Hermite Catmull-Rom Bezier
  • 贝塞尔曲线原理(简单阐述)
  • 插值与样条
  • Unity 打包因为资源没有 meta ,打包 assetbundle 的时候,导致资源没有打包进去
  • JavaScript 如何正确处理 Unicode 编码问题!
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • Java超时控制的实现
  • JS+CSS实现数字滚动
  • Mybatis初体验
  • Twitter赢在开放,三年创造奇迹
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 机器学习中为什么要做归一化normalization
  • 今年的LC3大会没了?
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 温故知新之javascript面向对象
  • 延迟脚本的方式
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • 进程与线程(三)——进程/线程间通信
  • # 计算机视觉入门
  • (1)STL算法之遍历容器
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (pytorch进阶之路)扩散概率模型
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (顺序)容器的好伴侣 --- 容器适配器
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • ../depcomp: line 571: exec: g++: not found
  • .libPaths()设置包加载目录
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .Net语言中的StringBuilder:入门到精通
  • .vue文件怎么使用_vue调试工具vue-devtools的安装
  • @JSONField或@JsonProperty注解使用
  • @RestController注解的使用
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)
  • [2023年]-hadoop面试真题(一)
  • [Android]How to use FFmpeg to decode Android f...
  • [asp.net core]project.json(2)
  • [C++] 默认构造函数、参数化构造函数、拷贝构造函数、移动构造函数及其使用案例
  • [flink总结]什么是flink背压 ,有什么危害? 如何解决flink背压?flink如何保证端到端一致性?
  • [hive]中的字段的数据类型有哪些
  • [iOS]iOS获取设备信息经常用法
  • [JavaEE] 线程与进程的区别详解