2016-08-16 47 views
0

我有一个资源文件App.qrc,我想为程序的可执行文件设置一个窗口图标(.ico而不是QIcon)。您可以在qt项目文件中引用qt资源文件中的项目吗?

我的问题是,是否有可能为你使用ico文件,该文件是在App.qrc这样设置.exe图标:

win32:RC_ICONS += :/Icon.ico 
+0

不,这是不可能的。 – peppe

+0

这是不可能的,因为qrc文件被编译,所以它在练习文件 – TheGathron

+0

这是不可能的,因为图标需要通过处理'.rc'文件的Windows工具RC找到。这与Qt无关,并且对Qt的资源系统一无所知。 – peppe

回答

1

不行,你必须包括Qt的资源以外的文件路径系统(您可以在App.qrcRC_ICONS中包含相同的文件)。

win32:RC_ICONS += icon.ico 
  • RC_ICONS作品通过生成.rc文件,其中包括所指定的图标。这意味着图标将被存储在使用Windows资源管理的结果.exe文件中(并且只有explorer.exe才能识别.exe文件的图标)。

  • 虽然当您将图标添加到App.qrc时,它将使用Qt Resource System将图标存储在结果.exe中。这是Qt独立于平台的机制,用于在应用程序的可执行文件中存储二进制文件。这不能被explorer.exe读取(它只能从依赖于QFile类的Qt类中读取)。

显然,这是两个不同的系统来获取存储的结果.exe文件中的图标(或其他资源),他们用不同的方式来做到这一点,所以你不能指定从Qt的图标资源系统将包含在生成的RC文件中。