【轉】設定Qt應用程式圖示及應用程式名

Dsp Tian發表於2017-09-23

一直以來很糾結給qt應用程式新增圖示問題,在網上收過一次,但是感覺不夠完整,現將自己的實現過程記錄下,以便以後檢視:

通過網上的例子知道qt助手中有相關說明:

Setting the Application Icon

The application icon, typically displayed in the top-left corner of an application's top-level windows, is set by calling theQWidget::setWindowIcon() method on top-level widgets.

In order to change the icon of the executable application file itself, as it is presented on the desktop (i.e., prior to application execution), it is necessary to employ another, platform-dependent technique.

Setting the Application Icon on Windows

First, create an ICO format bitmap file that contains the icon image. This can be done with e.g. Microsoft Visual C++: SelectFile|New, then select the File tab in the dialog that appears, and choose Icon. (Note that you do not need to load your application into Visual C++; here we are only using the icon editor.)

Store the ICO file in your application's source code directory, for example, with the name myappico.ico. Then, create a text file called, say, myapp.rc in which you put a single line of text:

 IDI_ICON1               ICON    DISCARDABLE     "myappico.ico"

Finally, assuming you are using qmake to generate your makefiles, add this line to your myapp.pro file:

 RC_FILE = myapp.rc

Regenerate your makefile and your application. The .exe file will now be represented with your icon in Explorer.

If you do not use qmake, the necessary steps are: first, run the rc program on the .rc file, then link your application with the resulting .res file.

 

從上面可將方法分為兩種:

1.使用軟體的方法可設定程式視窗的預設圖示,但是它無法改變應用程式檔案.exe的圖示。

2.使用qmake生成makefile的,如qt+eclipse,qt creator通過”If you do not use qmake"之前的方法就可以解決

3.使用qt+vs2010不是用qmake的情況,需要執行"If you do not use qmake..."方法,先將.rc檔案新增到工程中,再編譯.rc檔案,最後重新連線下即可改變圖示。

實現過程:

1.設定應用程式執行時所有視窗預設圖示,

 

[cpp] view plaincopy
 
  1. QApplication a(argc, argv);  
  2. //獲得可執行程式路徑  
[cpp] view plaincopy
 
  1. QString dir = QApplication::applicationDirPath();  
  2. //設定可執行程式路徑為當前工作路徑  
  3. QDir::setCurrent(dir);  
  4. QApplication::addLibraryPath("./plugins");  
[cpp] view plaincopy
 
  1. QApplication::addLibraryPath("./images");  
  2. a.setWindowIcon(QIcon("./images/myappico.ico"));  
2.通過qmake生成makefile實現過程:

 

a.找到一張圖片.ico,名字改為myappico.ico;

b.建立一個新的文字文件,內部新增  IDI_ICON1           ICON   DISCARDABLE   "myappico.ico",並將檔案重新命名為myapp.rc;

c.在myapp.pro檔案最後加上RC_FILE = myapp.rc,重新生成之後,就修改成功了
3.不用qmake生成makefile實現過程:

前面兩步驟一樣,最後一步改為,將.rc檔案載入至工程中,通過右鍵工程——新增——已存在檔案,新增後右鍵.rc檔案編譯,重新生成可執行檔案後就修改成功了

相關文章