Qt应用程序和窗口下的图标

我已经创build了一个简单的应用程序图标通过embedded一个标准的Windows资源文件包含一个图标。 不过,我也想在我的主应用程序窗口上使用这个图标。 是否有捷径可寻? 到目前为止,似乎唯一的办法是单独加载一个包含窗口图标的图标,而不是重复使用已经存在的图标。 这似乎是一个可怕的解决scheme。 除此之外,实际图标embedded在我的可执行文件中,我不想分发两次。

有人知道怎么做吗?

Solutions Collecting From Web of "Qt应用程序和窗口下的图标"

其实…原来它非常非常简单…

HICON hIcon = (HICON)LoadImage( GetmoduleeHandle( nullptr ), MAKEINTRESOURCE( IDI_ICON1 ), IMAGE_ICON, 0, 0, LR_DEFAULTSIZE | LR_LOADTRANSPARENT ); setWindowIcon( QIcon( QtWin::fromWinHICON( hIcon ) ) ); ::DestroyIcon( hIcon ); 

我觉得Goz的帖子对你的问题是一个很好的结果。 但是如果你想避免使用本地的Windows API(这实际上是最好的,因为设置应用程序图标是平台依赖),我会选择这个看起来不那么优雅的方法:

 1) in your .pro file: win32:RC_FILE=your_rcfile_with_icon.rc RESOURCES += qt_Resource_file.qrc 2) Add the same icon as in your .rc file to the qt .qrc file (ie embedd it twice) 3) in your main file: setWindowIcon(QIcon(":/the_icon.ico")); 

这可以避免本地API调用,并且您的代码仍然可以移植。 为每个平台设置应用程序图标是不同的。 所以,如果你想要可移植的代码,你应该避免本地调用。