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

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

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

Windowsでアプリケーションアイコンを設定する

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

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

あるいは、ImageMagickの変換ツールを使って、画像一式から.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を使う

makeファイルの生成にqmakeを使用している場合は、.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 またはwindres プログラムを.rc ファイル上で実行します。次に、作成した.res ファイルとアプリケーションをリンクします。

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

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

アプリケーションの起動時と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 コマンドは、MACOSX_BUNDLE_ICON_FILE 変数を定義しています。これは、アイコンファイルをInfo.plist ファイルに追加するために必要です。2番目のset コマンドは、アイコンファイルへの絶対パスをapp_icon_macos 変数に定義します。この変数を使用してMACOSX_PACKAGE_LOCATIONを構成し、アイコンファイルのインストー ル場所を定義する。最後に、add_executable は、app_icon_macOS 変数を使用してアプリケーションのアイコンを設定します。

macOSでqmakeを使う

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

ICON = myapp.icns

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

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

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

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

このセクションでは、2 つの一般的な Linux デスクトップ環境でアプリケーションのアイコンを提供 する際の問題について簡単に説明します:KDEGNOME です。アプリケーションアイコンを記述するために使用されるコア技術は、両方のデスクトップで同じであり、他のデスクトップにも適用されるかもしれませんが、それぞれに固有の詳細があります。これらのLinuxデスクトップで使われている標準に関する主な情報源はfreedesktop.orgです。他のLinuxデスクトップに関する情報は、興味のあるデスクトップのドキュメントを参照してください。

多くの場合、ユーザーは実行ファイルを直接使用せず、デスクトップ上のアイコンをクリックしてアプリケーションを起動します。これらのアイコンは、アイコンの情報を含むアプリケーションの説明を含む「デスクトップ・エントリー・ファイル」の表現です。どちらのデスクトップ環境もこれらのファイルの情報を取得することができ、デスクトップ、スタートメニュー、パネル上のアプリケーションへのショートカットを生成するために使用します。

デスクトップエントリファイルの詳細については、Desktop Entry Specificationを参照してください。

デスクトップエントリファイルはアプリケーションの詳細をカプセル化するのに便利ですが、各デスクトップ環境の従来の場所にアイコンを保存する必要があります。アイコンの置き場所は、Icon Theme Specification(アイコンのテーマ仕様)にいくつか示されている。

アイコンの場所に使用されるパスは、使用するデスクトップとその設定によって異なりますが、それぞれの下のディレクトリ構造は同じパターンに従うべきです:サブディレクトリは、テーマ、アイコンのサイズ、アプリケーションの種類ごとに配置されます。一般的に、アプリケーションアイコンは hicolor テーマに追加されるので、32 ピクセルの正方形のアプリケーションアイコンは、アイコンパスの下のhicolor/32x32/apps ディレクトリに格納されます。

Kデスクトップ環境(KDE)

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

kde4-config --path icon

Qt 5 と KDE Frameworks 5 を使っているアプリケーションは、このコマンドで返されるリストの中にアイコンを見つけることができます:

qtpaths --locate-dirs GenericDataLocation icons

通常、標準出力に出力されるコロンで区切られたパスのリストには、ユーザー固有のアイコンパスとシステム全体のパスが含まれます。これらのディレクトリの下に、Icon Theme Specificationに記述されている規則に従ってアイコンを配置し、インストールすることができるはずです。

KDE 専用に開発しているのであれば、KDE ビルドシステムを利用してアプリケーションを設定するとよいでしょう。これにより、あなたのアイコンが KDE の適切な場所にインストールされるようになります。

KDE 開発者のウェブサイトはhttp://techbase.kde.org/ にあります。

GNOME

アプリケーションのアイコンは、アーキテクチャに依存しないファイルを含む、システム全体の標準ディレクトリに保存されます。この場所は、gnome-config を使って、例えばターミナルウィンドウで次のようにタイプすることで決定できます:

gnome-config --datadir

標準出力に出力されるパスは、pixmaps というディレクトリを含む場所を指します。pixmaps ディレクトリ内のディレクトリ構造は、Icon Theme Specification に記述されています。

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

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

本書に含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。