在一个简单的Qt应用程序中,像这样开始:
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
app.setWindowIcon(QIcon(":/qapp/appicon.ico"));
...
我们在第二行设置图标(资源中的这一行和图标文件是我的测试程序和Qt向导生成的应用程序之间的唯一区别)。此应用程序在Windows XP上运行良好,但在Windows 7上,我们无法在窗口的左上角看到我们的图标(系统显示默认图标而不是我的appicon.ico)。
开发人员计算机的配置:
- 视窗 XP-SP3,
- Qt 5.1,
- MSVS2010-SP1.
更新:
开发人员的操作系统是Windows XP,所以我们有临时答案。当我们在装有Windows 7的计算机上编译此应用程序时,问题消失了(应用程序在WinXP和Win7上正确显示图标)。所以现在我们必须在 Windows 7 上编译此应用程序的版本。但它看起来不像完美的解决方案。
你有什么想法,如何更好地解决这个问题?
类似的问题是.ico图标没有显示在Windows上。解决方案很简单:
- 在应用程序目录中创建目录
imageformats
, - 复制其中
qico.dll
。
没有这个插件,QIcon 无法读取.ico文件。所以问题不在于Windows 7和Windows XP。问题出在不同计算机上的默认路径变量中。
我的猜测是您必须创建一个包含以下内容的资源文件windows_icon.rc
:
IDI_ICON1 ICON DISCARDABLE "images/app-icon-48.ico"
并将以下行添加到应用的 .pro 文件中:
RC_FILE = windows_icon.rc
这是您在 Windows 上设置应用程序图标的方式(成为 exe 文件图标的图标)