在资源管理器中的 exe 文件上显示的窗口上添加 Qt 应用程序图标的步骤是什么?
目前我的图标显示在应用程序 GUI 窗口上,但不显示在资源管理器中的 exe 文件本身上。
How to set application icon in a Qt-based project? 的答案通过添加 RC_ICONS
显示如何通过 qmake 完成此操作 我不使用 qmake。我不使用 VS
,我直接在带有 Qt 的标准 C++ 应用程序中使用 VS
编译器和任何工具。
是否可以找到手动完成的步骤? Qt 指的是 winres.exe
但有没有办法直接使用 Qt 工具,或者 VS
自带的任何工具?
我通过编译手动添加图标,我在 Qt Designer 中设计 GUI,然后在 Windows 10 上通过简单的批处理文件进行编译。dtresources.qrc
是在 Qt Designer 中创建的。然后从资源文件中选择 GUI 窗口图标。
例子:
%qtdir%\bin\rcc -name icons dtresources.qrc -o detail/dtresources.cpp
set src=detail/dtresources.cpp *.cpp
cl /EHsc /MDd /Zi /nologo /Fa"x64/debug/" /Fd"x64/debug/vc120.pdb" /Fo"x64/debug/" /Fp"x64/debug
/%appname%.pch" /I"%qtdir%/include" /I"%qtdir%/include/QtCore" /I"%qtdir%/include/QtGui"
/I"%qtdir%/include/QtWidgets" "%qtdir%/lib/Qt5Guid.lib" "%qtdir%/lib/Qt5Widgetsd.lib"
"%qtdir%/lib/Qt5Cored.lib" %src% /link /out:"x64/debug/%appname%.exe"
例子.qrc:
<RCC>
<qresource prefix="res">
<file>res/app.ico</file>
</qresource>
</RCC>
最佳答案
是的,你可以。 Windows SDK 提供了 rc.exe
,也就是资源编译器,而不是 windres.exe
。您首先需要一个 .ico 格式的图像(此处命名为“app.ico”)和一个名为“app.rc”的文本文件,内容如下:
IDI_ICON1 ICON DISCARDABLE "app.ico"
你可以用这个命令编译这个文件:
rc app.rc
该命令将生成一个名为“app.res”的文件。此 RES 文件可由链接器直接处理,或者您可以使用此命令将其转换为 .obj:
cvtres /MACHINE:X64 app.res
该命令生成一个名为“app.obj”的文件(对于架构 x86_64,使用 cvtres/h
查看其他参数)。在生成可执行文件时,您需要将此 .obj 文件提供给链接器。 “cvtres.exe”来自 VC 编译器 bin 目录,而不是 Windows SDK。
关于c++ - 在没有 qmake/VS 的情况下为 Qt Windows 应用程序设置 .exe 图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58211713/