首页 > 解决方案 > 如何使 setWindowIcon 在独立的可执行文件(Qt5.14 + VS2019)中正常工作?

问题描述

我正在 MS Visual Studio Community 2019 中编写 Qt 应用程序。我正在尝试使用以下命令向我的应用程序窗口添加一个图标,并且我还有.qrc文件中提到的相应文件my_icon.ico

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

当我在 VS 中构建和运行我的程序时,一切都很完美——图标取代了标准图标。但是,当我发布并尝试运行生成的独立可执行文件时,图标未显示!这特别奇怪,因为我在.qrc文件(按钮图片)中也提到的图像在它们的位置上。

我试图将my_icon.ico放在.exe文件旁边,但没有结果。

我放弃了,请告诉我这里可能发生的事情。

标签: qtvisual-studio-2019application-icon

解决方案


感谢chehrlic,我了解到它就像在Visual Studio 的 Release 配置构建的.exe文件上运行windeployqt.exe一样简单。

这将动态链接所有必需的库。

当.exe文件位于 Release 文件夹中时,请避免使用此工具,因为它会在.exe文件附近创建许多其他文件和文件夹。我已将my_app.exe复制到一个新目录并从中运行以下命令:

C:\Qt\5.14.1\msvc2017_64\bin\windeployqt.exe my_app.exe --release

有关更多详细信息,请参阅https://doc.qt.io/qt-5/windows-deployment.html


推荐阅读