如何让setWindowIcon在单机可执行文件(Qt5.14 + VS2019)中正常运行?

How to make setWindowIcon work properly in a stand-alone executable (Qt5.14 + VS2019)?

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

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

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

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

我放弃了,请告诉我这里可能发生了什么。

多亏了 chehrlic,我明白了 运行 windeployqt.exe 上是多么简单。 exe 文件由 Visual Studio.

的 Release 配置构建

这将 link 所有需要的动态库。

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

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

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