LInux下配置QT程序添加圖標,並可以雙擊運行


  在使用QT編程后,如果想發布添加圖標,在Windows下可以直接使用Qt自帶的工具:windeployqt;而在Linux下則不行,這里記錄一下怎么配置生成一個可以有圖標的運行程序。

參考:https://blog.csdn.net/weixin_41985655/article/details/83070085?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&dist_request_id=79dfb185-6393-40e7-b024-d21fd6a787ca&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.controlhttps://blog.csdn.net/ACK_ACK/article/details/102548160?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&dist_request_id=67f12e44-2edf-4917-b5b4-7e8674dc9cd9&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.controlhttps://help.ubuntu.com/community/UnityLaunchersAndDesktopFiles

1.新建一個文件夾,把QT生成的程序與需要顯示的圖標照片復制到該文件夾

  注意:你復制過來的圖片程序,在當前用戶下需要有執行權限,如果沒有需要修改用戶文件權限,不然會出現無法形成圖標或者無法執行程序的情況。

  

 2.在該文件夾使用腳本獲取應用程序依賴庫

   用vim命令新建一個 ***.sh 腳本文件(***是你自己起的腳本名稱),文件添加內容如下:

#! /bin/bash    
EXE='Demo'  #這里是你要執行的QT程序名    
PWD=`pwd`    
files=`ldd $EXE | awk '{ if(match($3,"^/"))    
        printf("%s "),$3 }'`    
cp $files $PWD

  保存腳本退出,使用 chmod +x ***.sh 改變腳本執行權限,使用 sudo ./***.sh 運行腳本,運行后腳本會把該應用程序用到的依賴庫復制到當前目錄下,效果如下:

  

  注意:如果你的程序調用到了自己編寫的動態鏈接庫,需要你自己手動把自己的動態鏈接庫復制到該文件夾,這個腳本不會復制你自己編寫的動態鏈接庫過來。

3.建立桌面啟動器,並添加通過啟動器圖標,形成可雙擊執行的程序

  使用vim命令在該文件夾上建立一個后綴為desktop的文件,例如 vim xxx.desktop,編輯輸入一下內容

[Desktop Entry]
Type=Application
Exec=/.../Demo        # "..."是需要運行的程序/腳本路徑;Demo是改程序/腳本名(必加);這里不單可以運行程序,還可以改為運行腳本,把程序放腳本里運行,同時在腳本里執行一些其他操作,例如下面的test.sh腳本
Name=xxx              #這個是你運行后,要顯示出來的程序名稱,不需要跟QT程序的名稱相同
GenericName=photo     #這里是你要用的圖標名稱
Icon=/.../photo.png   # '...' 是你復制到文件夾里要用的圖標照片路徑;photo.png 是你照片的名稱,這里一定要添加這個照片名稱,不然會找不到照片無法形成圖標
Terminal=false
Categories=Development;

  如果你還想在執行程序前進行一些其他操作,可以添加用vim編寫一個腳本,把上面的 xxx.destop 里運行的程序改為運行腳本,這里以 test.sh 為例子如下所示:

#!/bin/bash

#這些地方可以添加一些其他操作,例如配置環境之類的

cd /.../ #你的程序路徑

./Demo  #運行你的QT程序  

4.修改權限

chmod +x Demo

chmod +x xxx.desktop

chmod +x test.sh #如果你在腳本里執行程序的,還需要把腳本權限修改了

5.雙擊 xxx.desktop啟動程序

  

  注意:雙擊后該 xxx.desktop 圖標程序雖然看不到了 .desktop 后綴,但它的后綴還是存在的,它的文件並不是你運行xxx .desktop 文件后顯示的文件,還是你一開始的那個xxx.desktop文件名,只是隱藏了而已,你在命令台操作該文件時還是要加后綴的。

6.后續你只需要直接雙擊該圖標程序,就可以直接執行你的QT程序了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM