如何在使用Qt Visual Studio插件创建的Qt应用程序中设置图标?

7

这是我的软件环境:

  • 32位Windows XP电脑上的Visual Studio 2008
  • 用于Windows的Qt库4.6.2(VS 2008,194 MB)
  • Visual Studio插件(44 MB)

安装完所有软件后,我使用Visual Studio创建了一个简单的Qt应用程序项目:菜单文件 | 新建 | 项目...,然后选择Qt4项目 | Qt应用程序

构建它,接下来是问题:如何将应用程序图标设置为已编译的exe文件?我想在资源管理器中看到指定的ICO图标!


旧方法使用MyProject.pro不再适用!!!

  1. 创建一个包含图标的16x16和32x32像素版本的.ico文件(可以在Visual Studio中完成)。

  2. 创建一个包含以下文本的.rc文件:

    IDI_ICON1 ICON DISCARDABLE "myIcon.ico"

  3. 将以下内容添加到您的.pro文件中:

    RC_FILE = myFile.rc

  4. 运行qmake。

谢谢。

5个回答

6

以下是我在现有项目中使用 [VS2010, Qt Add-in 1.1.8] 的方法:

按照http://doc.qt.io/qt-4.8/appicon.html文档的描述:

  • 将图标文件(myappico.ico)添加到源目录中

  • 创建 myapp.rc 文件,并添加以下行:

    IDI_ICON1 ICON DISCARDABLE "myappico.ico"

[当然,文件名可以自由选择,只要保持一致即可]

  • 右键单击项目,选择“添加” | “现有项...”,并选择 RC 文件

  • 重新构建


5

完全正确的解决方案已找到,如下所示:

前言:您需要已安装Visual Studio插件!

  1. 打开Visual Studio(或Visual C++)

  2. 从菜单中创建新项目:文件| 新建| 项目...并将项目类型选择为Qt4 Projects,例如从模板中选择Qt Application

  3. 当第一个对话框窗口显示时,只需单击下一步 >按钮两次。

  4. 最后,在生成的类中点击添加默认应用程序图标(仅限Windows)复选框。

    alt text http://www.freeimagehosting.net/uploads/7f87801fb9.png

  5. 要完成过程,只需按完成

项目将创建一个默认图标,名称为{your_project_name}.ico。替换它并玩得开心!


2
托管的图像已不存在。该图像应该被内联并托管在SO上。虽然时间有点久了,但你能修复它吗? - Clifford

2
你也可以手动加载它。下面的方法适用于我:
#include <QtGui/QIcon>

QIcon icon("Resources/appicon.ico");
QMainWindow *window = new QMainWindow();
window->setWindowIcon(icon);
window->show();

将您的.ico文件放置在VS项目的Resources文件夹中。
(哎呀,我没有完全阅读问题,但我还是把答案留下了...^^)

2

官方文档中提到:
如果您不使用qmake,那么必要的步骤如下:首先,在.rc文件上运行rc程序,然后使用生成的.res文件链接您的应用程序。

我尝试了几次,应该按以下方式完成:
1. 将ico资源文件添加到您的项目中;
2. 将文件重命名为“yourappico.ico”;
3. 重新构建您的项目以生成yourapp.res文件;
4. 使用生成的.res文件链接您的应用程序。(在“项目-属性-链接器-输入-程序集链接资源”中)


-2
在解决方案资源管理器中右键单击您的项目,使用“添加”选项将您的图标包含在项目中。它将包括您的图标并为您设置一个rc文件。

不,你的答案并不是解决方案。这就像有人问“什么是奶牛?”,其他人回答:“哦,它就像猫一样,或者像狗一样,但是更大,或者只是胖”……我认为最好你把这样的答案删掉。虽然它不是最好的,但还是谢谢你! - mosg
1
资源管理器中显示的图标由解决方案中第一个图标资源定义。您需要一个资源文件,并且必须以某种方式设置 - 可以是 .pro 文件或使用“解决方案资源管理器”上下文菜单。我不认为您能找到其他答案。下次请注意礼貌。 - Vitor Py
1
从我的问题中可以看出,我将一行字体加粗了:Visual Studio Add-in (44 MB)。如果我使用那个插件创建Qt应用程序项目,它不会生成或使用pro文件。如果我没记错的话,所有信息都存储在MSVC解决方案文件中,而不是pro文件中。因此,在pro中添加RC_FILE = myFile.rc是不可能的!当你偷走我的Tumbleweed徽章时,我不想客气!!! :| - mosg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接