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

本文详细介绍了在Qt中如何设置应用程序窗口图标和EXE文件图标的方法。通过编辑qrc资源文件并调用特定函数,可以轻松实现窗口图标设置。而对于EXE图标,需创建.rc资源文件并将其加入工程,最终实现图标更改。


原创文章,欢迎转载。转载请注明:转载自 祥的博客

原文链接:https://blog.youkuaiyun.com/humanking7/article/details/85233449


设置窗口图标

Step1

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

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"));//图标-哈士奇诡异的笑容		
		// ...
}

IMG20181224142931.png

设置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~


赞赏码New

<think>好的,用户想知道如何在QT应用程序设置窗口或程序图标。我需要根据之前的引用内容来组织回答。首先,用户提到的引用里分三种图标窗口左上角图标、状态栏图标可执行文件图标。引用1提到前两者可以同时设置,需要将图标加入qrc资源文件,然后使用setWindowIcon方法。引用2给出的是在Linux下设置窗口图标的代码示例,用QIconaddFile。引用3则展示两种路径方式:资源文件路径本地文件路径。我需要分步骤说明,首先设置窗口状态栏图标,这部分需要用到qrc资源文件,然后设置可执行文件图标,这在不同平台有不同的方法,比如Windows的.rc文件或者Linux的.desktop文件。注意要提到路径的正确写法,比如资源路径用冒号开头,本地路径直接引用。可能还需要提醒用户图标尺寸格式的问题,比如推荐32x32或64x64的ICO或PNG。此外,要确保代码示例正确,比如使用QIcon加载资源,然后调用setWindowIcon。另外,用户可能遇到的问题包括图标不显示,这时候需要检查路径是否正确,或者是否重新编译了qrc文件。还要区分设置应用程序图标窗口图标的不同,可能有些地方需要设置应用程序级别的图标,比如QApplication::setWindowIcon,但引用中的例子是设置窗口的。需要明确说明不同方法的应用场景。最后生成相关问题,可能涉及不同平台的设置差异,图标不显示怎么办,或者如何更换动态图标等。要确保问题覆盖用户可能遇到的后续疑问。</think>在QT应用程序设置图标主要涉及三种场景:窗口左上角图标、任务栏图标可执行文件图标。以下是具体设置方法: ### 一、设置窗口图标(含任务栏) 1. **将图标文件(.ico/.png)添加到资源文件** ```xml <RCC> <qresource prefix="/Icons"> <file>app_icon.ico</file> </qresource> </RCC> ``` 2. **在代码中加载资源图标** ```cpp // 主窗口构造函数中 this->setWindowIcon(QIcon(":/Icons/app_icon.ico")); ``` 或使用本地文件路径: ```cpp this->setWindowIcon(QIcon("path/to/icon.ico")); // 需确保路径正确[^3] ``` ### 二、设置可执行文件图标 1. **Windows平台** - 创建`app.rc`文件: ```rc IDI_ICON1 ICON DISCARDABLE "app_icon.ico" ``` - 在.pro文件中添加: ```makefile RC_FILE = app.rc ``` 2. **Linux/macOS平台** ```cpp // 主函数中设置应用程序图标 QApplication a(argc, argv); a.setWindowIcon(QIcon(":/Icons/app_icon.png")); ``` ### 三、注意事项 - 推荐使用32x32或64x64像素的ICO格式图标 - 资源路径需以`:`开头(如`":/Icons/icon.ico"`) - 修改图标后需重新编译资源文件(qrc)[^1] - 多分辨率图标可合并到单个ICO文件中实现自适应
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值