5

在一个像这样开始的简单 Qt 应用程序中:

int main(int argc, char* argv[])
{
  QApplication app(argc, argv);
  app.setWindowIcon(QIcon(":/qapp/appicon.ico"));
...

我们在第二行设置图标(这一行和资源中的图标文件是我的测试程序和Qt向导生成的应用程序之间的唯一区别)。此应用程序在 Windows XP 上完美运行,但在 Windows 7 上,我们在窗口的左上角看不到我们的图标(系统显示默认图标而不是我的 appicon.ico)。

开发者电脑配置:

  • 视窗 XP-SP3,
  • Qt 5.1,
  • MSVS2010-SP1。

更新:

开发商的操作系统是Windows XP,所以我们暂时给出答案。当我们在装有 Windows 7 的计算机上编译此应用程序时,问题消失了(应用程序在 WinXP 和 Win7 上正确显示图标)。所以现在我们必须在 Windows 7 上编译这个应用程序的版本。但这看起来并不是完美的解决方案。

你有什么想法,如何更好地解决这个问题?

4

2 回答 2

7

类似的问题是.ico 图标没有出现在 Windows 上。解决方法很简单:

  • 在应用程序目录中创建目录imageformats
  • 复制qico.dll进去。

如果没有这个插件,QIcon 无法读取 .ico 文件。所以问题不在 Windows 7 和 Windows XP 中。问题出在不同计算机上的默认路径变量中。

于 2013-10-25T10:55:52.520 回答
-1

我的猜测是你必须创建一个windows_icon.rc包含以下内容的资源文件:

IDI_ICON1               ICON    DISCARDABLE     "images/app-icon-48.ico"

并将这一行添加到您应用的 .pro 文件中:

RC_FILE = windows_icon.rc

这是您在 Windows 上设置应用程序图标的方式(成为 exe 文件图标的方式)

于 2013-10-25T10:39:34.200 回答