Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions

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 the QWidget::setIcon() 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++: Select "File|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 e.g. "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 e.g. 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.

Setting the Application Icon on Mac OS X

The application icon, typically displayed in the application dock area, is set by calling QWidget::setIcon() on a top-level widget. It is possible that the program could appear in the application dock area before the function call, in which case a default icon will appear during the bouncing animation.

To ensure that the correct icon appears, both when the application is being launched, and in the Finder, it is necessary to employ a platform-dependent technique.

Although many programs can create icon files (.icns), the recommended approach is to use the Icon Composer program supplied by Apple (in the Developer/Application folder). Icon Composer allows you to import several different sized icons (for use in different contexts) as well as the masks that go with them. Save the set of icons to a file in your project directory.

If you are using qmake to generate your make files, you only need to add a single line to your .pro project file. For example, if the name of your icon file is myapp.icns, and your project file is myapp.pro, add this line to myapp.pro:

RC_FILE = myapp.icns
This will ensure that qmake puts your icons in the proper place and creates an Info.plist entry for the icon.

If you do not use qmake, you must do the following manually:

  1. Create an Info.plist file for your application (using the PropertyListEditor, found in Developer/Applications).
  2. Associate your .icns record with the CFBundleIconFile record in the Info.plist file (again, using the PropertyListEditor).
  3. Copy both the icns and your Info.plist into your application bundle Resource directory.


Copyright © 2003 TrolltechTrademarks
Qt version 3.1.2