These icons are called [http://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/classKIcon.html KIcon]s. This article shows you how to do this on the example of the software [http://www.staerk.de/thorsten/krep krep]. In case of a [[Development/Tutorials/CMake|

+

These icons are called [http://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/classKIcon.html KIcon]s. This article shows you how to do this using the software [http://www.staerk.de/thorsten/krep krep] as an example. In case of a [[Development/Tutorials/CMake|

How to use icons in a qmake base project is discussed [http://appdeveloper.intel.com/en-us/Qt%20C%20Plus%20Plus%20app%20MeeGo%20SDK elsewhere].

+

How to use icons in QMake-based projects is discussed [http://appdeveloper.intel.com/en-us/Qt%20C%20Plus%20Plus%20app%20MeeGo%20SDK elsewhere].

= Your KDE project =

= Your KDE project =

−

If you have a KDE project and want to use icons within it, and want that these icons install seamlessly, you will have to name the icons after the project. In the following we look at a project named ''krep''. The important lines in CMakeLists.txt are the ones printed bold below:

+

If you have a KDE project and want to use icons within it, and want these icons installed seamlessly, you will have to name the icons after the project. In the following we look at a project named ''krep''. The important lines in CMakeLists.txt are the ones printed bold below:

using this test case I could remove one icon after the other, 22x22, 64x64, 48x48, but when I removed 32x32, the icon disappeared from my application. This was the last icon that existed. Then I put in the 64x64 icon and the application carried an icon again. This means you can use any icon of 16x16, 22x22, 32x32, 48x48, 64x64, 128x128.

+

According to [[Development/CMake/Addons_for_KDE#Macros]] you need to provide a 128x128 pixels icon.

= The icon naming scheme =

= The icon naming scheme =

Example for icon names:

Example for icon names:

−

* hisc-apps-bla.svgz will be installed e.g. to /usr/local/share/icons/hicolor/scalable/apps/./bla.svgz. hi stands for "hicolor", sc for "scalable", apps for "applications", bla for the application's name and .svgz is the suffix for gzipped scalable vector graphic files.

+

* hisc-apps-bla.svgz will be installed e.g. to /usr/local/share/icons/hicolor/scalable/apps/bla.svgz. <tt>hi</tt> stands for "hicolor", <tt>sc</tt> for "scalable", <tt>apps</tt> for "applications", <tt>bla</tt> for the application's name and <tt>.svgz</tt> is the suffix for gzipped scalable vector graphic files.

+

* hi128-app-ktimetracker.png will be installed e.g. to /usr/share/icons/hicolor/128x128/apps/ktimetracker.png. <tt>hi</tt> stands for "hicolor", <tt>128</tt> for a resolution of 128x128 pixels, <tt>app</tt> for "applications", <tt>ktimetracker</tt> for the application's name and <tt>.png</tt> is the suffix for portable network graphic files.

+

+

= example application =

+

In this chapter we will build - on top of the [[Development/Tutorials/Using_KActions|KAction example]] - an example application ''kicons'' that looks like this:

: This is a file that defines our icon in (almost natural) english language. It is a scalable vector graphic file. Before being used, it must be converted into a zipped scalable vector graphic named ''hisc-apps-tutorial-kicon.svgz'', see below.

: sorry for the name, but there are [[#The_icon_naming_scheme|naming conventions]]. Create this file with the ''convert'' command from the ''ImageMagick'' package <syntaxhighlight lang="bash">convert world.svg hisc-apps-tutorial-kicon.svgz</syntaxhighlight>

Your KDE project

If you have a KDE project and want to use icons within it, and want these icons installed seamlessly, you will have to name the icons after the project. In the following we look at a project named krep. The important lines in CMakeLists.txt are the ones printed bold below:

The icon naming scheme

Example for icon names:

hisc-apps-bla.svgz will be installed e.g. to /usr/local/share/icons/hicolor/scalable/apps/bla.svgz. hi stands for "hicolor", sc for "scalable", apps for "applications", bla for the application's name and .svgz is the suffix for gzipped scalable vector graphic files.

hi128-app-ktimetracker.png will be installed e.g. to /usr/share/icons/hicolor/128x128/apps/ktimetracker.png. hi stands for "hicolor", 128 for a resolution of 128x128 pixels, app for "applications", ktimetracker for the application's name and .png is the suffix for portable network graphic files.

example application

In this chapter we will build - on top of the KAction example - an example application kicons that looks like this:

This is a file that defines our icon in (almost natural) english language. It is a scalable vector graphic file. Before being used, it must be converted into a zipped scalable vector graphic named hisc-apps-tutorial-kicon.svgz, see below.