cmake管理qt项目,设置windows和linux下生成的程序图标,以及任务栏显示设置的图标

发布时间 2023-12-27 21:55:39作者: 红湿处

先代码设置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、就是快捷方式了