Qt Creator部署到Windows设置图标

问题描述 投票:2回答:1

我想使用Qt安装程序框架将应用程序部署到Windows。我在任务栏中设置图标时遇到一些问题。我在用

  • Qt Creator版本4.7.2
  • QMAKE
  • 桌面Qt 5.11.2 MinGW 32位

如果我在Qt Creator中运行应用程序,应用程序会在任务栏中显示一个图标。

要将其部署到Windows,请执行以下步骤:

  1. 将应用程序构建为发布
  2. 将创建的.exe复制到安装程序框架的数据文件夹中
  3. 运行以下命令将所有内容链接在一起: windeployqt.exe --no-translations --no-quick-import E:\ path \ to \ app.exe
  4. 运行以下命令以创建安装程序: D:\ Qt \ InstallerFramework \ bin \ binarycreator.exe --offline-only -c config / config.xml -p packages app_Setup

之后,我得到了我可以在另一台PC上成功安装的setupt.exe。如果我现在启动应用程序,那么应用程序的图标将丢失我只能从Windows获取此标准图标:

enter image description here

那么现在我做了什么:

我有一个.qrc文件,其中包含以下条目:

<RCC>
    <qresource prefix="/">
        <file>icon.ico</file>
    </qresource>
</RCC>

以及包含以下内容的附加.rc文件

IDI_ICON1               ICON    DISCARDABLE     "icon.ico"

我添加了.pro文件

RC_FILE = resources.rc
RESOURCES = qresources.qrc

我将带有Qt Designer的图标指定为主窗口的图标。将以下行放入MainWindow的构造函数中:

setWindowIcon(QIcon("://icon.ico"));

如果必要的dll在文件夹imageformats中(我的意思是qico.dll),我在运行windeployqt后也检查过

在所有这些之后,我没有在任务栏中获得任何图标(也在开始菜单中没有图标)。 .exe具有正确的图标。

我搜索了很多,这些是每个人建议的步骤,所以我不知道为什么它不起作用。

如果我在使用windeployqt创建后启动.exe,则应用程序在任务栏中有一个图标。

使用创建的设置安装后,图标丢失。 (qico.dll也出现在安装文件夹中)

所以我通过创建设置错过了一些东西? Perhabs你们任何人都有一个想法。

谢谢!

qt qt5 qt-designer
1个回答
0
投票

如上所述,我遇到了同样的问题。特别值得注意的是,当在用于创建安装程序的文件夹中运行应用程序时,图标显示,在从安装文件夹安装并运行后,图标不正确(Windows默认)。

为此,我相信安装程序正在为该特定目录设置一个注册表项以具有默认的win图标,因为将.exe移动到另一个目录可以解决问题。

在安装日志中显示一条线索,在meta文件夹中找到了%system32%(我从Qt网站上提取了一个示例installscript.qs)的图标。

首先删除此脚本中所有提及的图标。这不会修复它,损坏似乎已经完成,因为已经为该文件夹路径创建了一个注册表项。最后的修复是改变安装的位置,然后最终显示图标。这让我想到了一些非常令人沮丧的时刻!

© www.soinside.com 2019 - 2024. All rights reserved.