このページでは

アプリケーションアイコンの設定

通常、アプリケーションのトップレベルウィンドウの左上隅に表示されるアプリケーションアイコンは、QWindow::setIcon() メソッドを呼び出すことで設定されます。

デスクトップ上に表示される(つまり、アプリケーションの起動前)実行可能アプリケーションファイル自体のアイコンを変更するには、プラットフォームに依存する別の手法を採用する必要があります。

Windows でのアプリケーションアイコンの設定

まず、アイコン画像を含む ICO 形式のビットマップファイルを作成します。これは、Microsoft Visual Studio を使用して行うことができます。[File >> New] を選択し、[Icon File] を選択します。

注: アイコンエディタのみを使用するため、アプリケーションを Visual Studio IDE に読み込む必要 はありません。

あるいは、ImageMagickのconvertツールを使用して、一連の画像から.ico ファイルを作成することもできます:

magick.exe convert icon-16.png icon-32.png icon-256.png icon.ico

ICO ファイルを、たとえば「appico.ico 」という名前で、アプリケーションのソースコードディレクトリに保存します。

Windows での CMake の使用

アプリケーションのアイコンを設定するには、アイコンに関する情報が記載されたリソースファイルが必要です。リソースファイルとは、アイコン、カーソル、フォントなど、アプリケーションのリソースに関する情報が記載されたテキストファイルのことです。リソースファイルの詳細およびその内容については、「リソースファイルについて」を参照してください。

.rc ファイルを作成したら、そのファイルに ICO ファイルに関する情報を追加し、これを使用してアプリケーションのアイコンを設定します。

以下のコードスニペットは、Photo Surfaceサンプルアプリケーションが CMake を使用してアプリケーションアイコンを設定する方法を示しています。

    set(app_icon_resource_windows "${CMAKE_CURRENT_SOURCE_DIR}/resources/photosurface.rc")
    qt_add_executable(photosurfaceexample main.cpp ${app_icon_resource_windows})

set コマンドでは、RCファイルのパスを格納するapp_icon_windows 変数が定義されている点に注意してください。この変数は、add_executable コマンドと組み合わせて、アプリケーションのアイコンを設定するために使用されます。

Windows での qmake の使用

もしまだ qmake を使用して makefile を生成している場合は、.pro プロジェクトファイルに次の 1 行を追加する必要があります:

RC_ICONS = myappico.ico

最後に、makefileとアプリケーションを再生成してください。これで、.exe ファイルがエクスプローラー上でアイコンとして表示されるようになります。

ただし、myapp.rc といった名前の.rc ファイルがすでに存在し、それを再利用したい場合は、次の 2 つの手順が必要になります。まず、myapp.rc ファイルに次の 1 行を追加します:

IDI_ICON1               ICON    "myappico.ico"

次に、myapp.pro ファイルに次の行を追加します:

RC_FILE = myapp.rc

qmake を使用しない場合は、次の手順が必要です。まず、.rc ファイルを作成し、その.rc ファイルに対してrc またはwindres プログラムを実行し、その結果生成された.res ファイルをアプリケーションにリンクします。

macOS でのアプリケーションアイコンの設定

通常、アプリケーションのドック領域に表示されるアプリケーションアイコンは、ウィンドウに対して `QWindow::setIcon()` を呼び出すことで設定されます。関数が呼び出される前にプログラムがアプリケーションのドック領域に表示される可能性があり、その場合は、バウンスアニメーション中にデフォルトのアイコンが表示されます。

アプリケーションの起動時およびFinder上で正しいアイコンが表示されるようにするには、プラットフォームに依存した手法を採用する必要があります。

多くのプログラムでアイコンファイルを作成することは可能ですが(.icns )、Appleが提供するiconutilプログラムを使用することをお勧めします。iconutilは、アイコンセットフォルダを、配布可能な高解像度のicnsファイルに変換するコマンドラインツールです。このツールを使用すると、生成されるicnsファイルが自動的に圧縮されるため、追加で圧縮を行う必要はありません。

macOS での CMake の使用

アプリケーションのアイコンを設定するには、CMakeによって生成されたInfo.plist ファイルにアイコン情報を含める必要があります。これは、.icns ファイル名をMACOSX_BUNDLE_ICON_FILE 変数に設定することで実現できます。

以下のスニペットは、Photo Surfaceサンプルアプリケーションが CMake を使用してアプリケーションアイコンを設定する方法を示しています:

    # The MACOSX_BUNDLE_ICON_FILE variable is added to the Info.plist
    # generated by CMake. This variable contains the .icns file name,
    # without the path.
    set(MACOSX_BUNDLE_ICON_FILE photosurface.icns)

    # And the following tells CMake where to find and install the file itself.
    set(app_icon_macos "${CMAKE_CURRENT_SOURCE_DIR}/resources/photosurface.icns")
    set_source_files_properties(${app_icon_macos} PROPERTIES
           MACOSX_PACKAGE_LOCATION "Resources")

    qt_add_executable(photosurfaceexample MACOSX_BUNDLE main.cpp ${app_icon_macos})

最初のset コマンドでは、アイコンファイルをInfo.plist ファイルに追加するために必要なMACOSX_BUNDLE_ICON_FILE 変数を定義している点に注意してください。2番目のset コマンドでは、アイコンファイルへの絶対パスを指定してapp_icon_macos 変数を定義しています。この変数は、アイコンファイルのインストール先を定義する MACOSX_PACKAGE_LOCATION の設定に使用されます。 最後に、add_executable では、app_icon_macOS 変数を使用してアプリケーションのアイコンを設定します。

macOS での qmake の使用

もしまだ qmake を使用して makefile を生成している場合は、.pro プロジェクトファイルに 1 行を追加するだけで済みます。たとえば、アイコンファイルの名前が `myapp.icns` で、プロジェクトファイルが `myapp.pro` である場合、`myapp.pro` に次の行を追加します。

ICON = myapp.icns

これにより、qmake がアイコンを適切な場所に配置し、そのアイコンに対してInfo.plist エントリを作成するようになります。

qmake を使用しない場合は、手動で以下の操作を行う必要があります:

  1. アプリケーション用のInfo.plist ファイルを作成します(Developer/Applications にあるPropertyListEditor を参照してください)。
  2. Info.plist ファイル内のCFBundleIconFile レコードに、.icns レコードを関連付けます(この際もPropertyListEditor を使用します)。
  3. Info.plist ファイルを、アプリケーションバンドルのContents ディレクトリにコピーします。
  4. .icns ファイルを、アプリケーションバンドルのContents/Resources ディレクトリにコピーします。

一般的な Linux デスクトップ環境でのアプリケーションアイコンの設定

このセクションでは、KDEとGNOME という 2 つの一般的な Linux デスクトップ環境向けに、アプリケーションのアイコンを提供する際に生じる問題について簡単に説明します。アプリケーションのアイコンを記述するために使用される中核となる技術は、どちらのデスクトップでも同じであり、他のデスクトップにも適用できる可能性がありますが、それぞれに固有の詳細があります。 これらのLinuxデスクトップで使用される標準に関する主な情報源は、freedesktop.orgです。その他のLinuxデスクトップに関する情報については、関心のあるデスクトップのドキュメントを参照してください。

多くの場合、ユーザーは実行ファイルを直接使用するのではなく、デスクトップ上のアイコンをクリックしてアプリケーションを起動します。これらのアイコンは、「デスクトップエントリファイル」を表すものであり、このファイルには、アイコンに関する情報を含むアプリケーションの説明が記述されています。 どちらのデスクトップ環境も、これらのファイル内の情報を取得することができ、その情報を使ってデスクトップ、スタートメニュー、およびパネル上にアプリケーションへのショートカットを生成します。

デスクトップエントリファイルに関する詳細情報は、『デスクトップエントリ仕様』に記載されています。

デスクトップエントリファイルはアプリケーションの詳細を効果的にカプセル化できますが、それでも各デスクトップ環境の標準的な場所にアイコンを保存する必要があります。アイコンの保存場所については、『Icon Theme Specification』にいくつか記載されています。

アイコンの場所を特定するために使用されるパスは、使用しているデスクトップ環境やその設定によって異なりますが、それぞれのディレクトリ構造は同じパターンに従う必要があります。つまり、サブディレクトリはテーマ、アイコンサイズ、およびアプリケーションの種類ごとに整理されます。 一般的に、アプリケーションアイコンはhicolorテーマに追加されるため、32ピクセルサイズの正方形のアプリケーションアイコンは、アイコンパスの直下に位置するhicolor/32x32/apps ディレクトリに保存されます。

K Desktop Environment (KDE)

アプリケーションアイコンは、すべてのユーザーが使用できるようにインストールすることも、ユーザーごとにインストールすることもできます。現在 KDE 4 デスクトップにログインしているユーザーは、kde4-config を使用してこれらの場所を確認できます。たとえば、ターミナルウィンドウで次のように入力します。

kde4-config --path icon

Qt 5 および KDE Frameworks 5 を使用するアプリケーションのアイコンは、このコマンドによって返されるリストに含まれています:

qtpaths --locate-dirs GenericDataLocation icons

通常、標準出力 (stdout) に表示されるコロン区切りのパス一覧には、ユーザー固有のアイコンパスとシステム全体のパスが含まれます。これらのディレクトリの下に、「Icon Theme Specification」で規定されている規約に従って、アイコンを配置およびインストールできるはずです。

KDE専用に開発を行っている場合は、KDEのビルドシステムを活用してアプリケーションを構成することをお勧めします。これにより、アイコンがKDEにとって適切な場所に確実にインストールされます。

KDE開発者向けウェブサイトはhttps://techbase.kde.org/ です。

GNOME

アプリケーションのアイコンは、アーキテクチャに依存しないファイルを含む、標準的なシステム全体のディレクトリ内に格納されます。この場所は、gnome-config を使用することで確認できます。たとえば、ターミナルウィンドウで次のように入力します。

gnome-config --datadir

stdoutに出力されるパスは、pixmaps という名前のディレクトリを含むべき場所を指しています。pixmaps ディレクトリ内のディレクトリ構造については、『Icon Theme Specification』に記載されています。

GNOME専用に開発を行う場合は、標準のGNUビルドツールセットを使用することをお勧めします。詳細については、「統合ガイドライン」のセクションを参照してください。これにより、アイコンがGNOME用の適切な場所に確実にインストールされます。

GNOME開発者向けウェブサイト(https://developer.gnome.org/)では、アプリケーション開発に関するより詳しい情報が提供されています。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.