设置Qt应用程序图标及应用程序名

本文介绍如何为Qt应用程序设置图标,包括设置程序窗口图标及更改应用程序文件(.exe)图标的方法。适用于使用qmake生成makefile的环境及不使用qmake的环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一直以来很纠结给qt应用程序添加图标问题,在网上收过一次,但是感觉不够完整,现将自己的实现过程记录下,以便以后查看:

通过网上的例子知道qt助手中有相关说明:

Setting the Application Icon

The application icon, typically displayed in the top-left corner of an application's top-level windows, is set by calling theQWidget::setWindowIcon() method on top-level widgets.

In order to change the icon of the executable application file itself, as it is presented on the desktop (i.e., prior to application execution), it is necessary to employ another, platform-dependent technique.

Setting the Application Icon on Windows

First, create an ICO format bitmap file that contains the icon image. This can be done with e.g. Microsoft Visual C++: SelectFile|New, then select the File tab in the dialog that appears, and choose Icon. (Note that you do not need to load your application into Visual C++; here we are only using the icon editor.)

Store the ICO file in your application's source code directory, for example, with the name myappico.ico. Then, create a text file called, say, myapp.rc in which you put a single line of text:

 IDI_ICON1               ICON    DISCARDABLE     "myappico.ico"

Finally, assuming you are using qmake to generate your makefiles, add this line to your myapp.pro file:

 RC_FILE = myapp.rc

Regenerate your makefile and your application. The .exe file will now be represented with your icon in Explorer.

If you do not use qmake, the necessary steps are: first, run the rc program on the .rc file, then link your application with the resulting .res file.


从上面可将方法分为两种:

1.使用软件的方法可设置程序窗口的默认图标,但是它无法改变应用程序文件.exe的图标。

2.使用qmake生成makefile的,如qt+eclipse,qt creator通过”If you do not use qmake"之前的方法就可以解决

3.使用qt+vs2010不是用qmake的情况,需要执行"If you do not use qmake..."方法,先将.rc文件添加到工程中,再编译.rc文件,最后重新连接下即可改变图标。

实现过程:

1.设置应用程序运行时所有窗口默认图标,

[cpp]  view plain copy
  1. QApplication a(argc, argv);  
  2. //获得可执行程序路径  
[cpp]  view plain copy
  1. QString dir = QApplication::applicationDirPath();  
  2. //设置可执行程序路径为当前工作路径  
  3. QDir::setCurrent(dir);  
  4. QApplication::addLibraryPath("./plugins");  
[cpp]  view plain copy
  1. QApplication::addLibraryPath("./images");  
  2. a.setWindowIcon(QIcon("./images/myappico.ico"));  
2.通过qmake生成makefile实现过程:

a.找到一张图片.ico,名字改为myappico.ico;

b.创建一个新的文本文档,内部添加  IDI_ICON1           ICON   DISCARDABLE   "myappico.ico",并将文件重命名为myapp.rc;

c.在myapp.pro文件最后加上RC_FILE = myapp.rc,重新生成之后,就修改成功了
3.不用qmake生成makefile实现过程:

前面两步骤一样,最后一步改为,将.rc文件加载至工程中,通过右键工程——添加——已存在文件,添加后右键.rc文件编译,重新生成可执行文件后就修改成功了。

我个人喜欢用第二种:

1.首先准备个ICO图标。例如:A.ico,网上有很多图标文件;
2.用记事本新建个txt,写一行:IDI_ICON1  ICON   DISCARDABLE   "A.ico" ;
3.保存,修改后缀为.rc,例如: myapp.rc,把它和图标A.ico一起复制到你的QT工程项目的目录;
4.打开你的QT工程文件.pro(例如 "myapp.pro" ),在里面最后新添一行:RC_FILE = myapp.rc ;
5.保存,重新编译你的工程。
如果想换图标,就重换一个图标,重命名为A.ico替换原来的,重新编译就可以了。






<think>好的,用户想知道如何在QT应用程序设置窗口或程序图标。我需要根据之前的引用内容来组织回答。首先,用户提到的引用里分三种图标:窗口左上角图标、状态栏图标和可执行文件图标。引用1提到前两者可以同时设置,需要将图标加入qrc资源文件,然后使用setWindowIcon方法。引用2给出的是在Linux下设置窗口图标的代码示例,用QIcon和addFile。引用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文件中实现自适应
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值