我目前正在开发一个在C++中使用SDL2的游戏,我想为任务栏和Alt切换器设置我的游戏图标。我试图通过使用SDL_SetWindowIcon()来实现这一点:
SDL_Surface* icon = IMG_Load("icon.png");
SDL_SetWindowIcon(sdlWindow, icon);
即使我的窗口已正确初始化且表面已加载,该图标也不会出现在任务栏或Alt-Tab切换器中。我在Ubuntu 16.04 LTS上。
有人知道我做错了什么吗?
发布于 2018-04-14 03:18:08
我不打算声称我理解这个函数是如何工作的,但我可以与您分享我是如何让它工作的。尽管我可以在desktop.my_app文件中使用600x600 (像素)的图像,并且使用该启动器可以很好地工作,但SDL2不会加载600x600的图像。我也尝试了128x128,但不起作用。
将图像大小更改为64x64,奇迹般地修复了它。存储问题?我不知道为什么SDL2可以在应用程序的其他部分处理巨大的SDL_Surface,但不能处理窗口图标。
https://stackoverflow.com/questions/46614586
复制相似问题