cmake管理qt项目,设置windows和linux下生成的程序图标,以及任务栏显示设置的图标
先代码设置MainWindow图标:
// 主要用于在linux下运行程序时,在任务栏显示图标
MainWindow w; w.setWindowIcon(QIcon(":/res/icon.png"));
(*windows下设置生成的exe程序的ico图标后,默认也会对运行程序时任务栏的图标也设置成这个ico,但是同样的代码拿到linux下就无效,需要其他方法设置。)
一、windows
1、先制作xx.ico格式的图标
2、创建发ico.txt格式的文本文件,输入内容:IDI_ICON1 ICON "xx.ico"
将.txt后缀更改为.rc
3、在qt工程中添加资源文件res,将xx.ico和ico.rc 添加到资源文件res中
4、在CMakeLists.txt中添加内容:add_executable(main.cpp res/xx.rc)
5、重新编译
二、linux
1、在程序所在目录下创建run.sh文件。
编辑run.sh文件:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:用到的库目录路经 cd /程序所在路经/bin ./程序名称
赋予权限:sudo chmod 777 run.sh
执行下看看下效果:./run.sh
(*如果不能运行软件,可能是库路经没有配置好)
2、将图标放到程序所在目录
3、在程序所在目录创建.desktop文件,文件名自己起。
myapp.desktoop
编辑myapp.desktoop文件:
(* 修改三个地方,其它默认就可以)
[Desktop Entry] Version=1.0 Name=程序名称 Comment=myqtapp Exec=/我的程序路经/run.sh Icon=/我的程序路经/ico.png Terminal=false Type=Application Categories=Application; StartupNotify=true X-Desktop-File-Install-Version=0.22
4、赋予权限:
sudo chmod 777 myapp.desktop
5、双击myapp.desktoop
6、选择:Trust and Launch
7、就会变成设置的图标
8、然后就可以通过双击运行程序
9、将个文件拷贝到桌面
10、就是快捷方式了