このページでは

QIcon Class

QIcon クラスは、さまざまなモードや状態に応じた拡大・縮小可能なアイコンを提供します。詳細...

ヘッダー: #include <QIcon>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

パブリック型

enum Mode { Normal, Disabled, Active, Selected }
enum State { On, Off }
(since 6.7) enum class ThemeIcon { AddressBookNew, ApplicationExit, AppointmentNew, CallStart, CallStop, …, WeatherStorm }

パブリック関数

QIcon()
QIcon(QIconEngine *engine)
QIcon(const QPixmap &pixmap)
QIcon(const QString &fileName)
QIcon(const QIcon &other)
QIcon(QIcon &&other)
~QIcon()
QSize actualSize(const QSize &size, QIcon::Mode mode = Normal, QIcon::State state = Off) const
void addFile(const QString &fileName, const QSize &size = QSize(), QIcon::Mode mode = Normal, QIcon::State state = Off)
void addPixmap(const QPixmap &pixmap, QIcon::Mode mode = Normal, QIcon::State state = Off)
QList<QSize> availableSizes(QIcon::Mode mode = Normal, QIcon::State state = Off) const
qint64 cacheKey() const
bool isMask() const
bool isNull() const
QString name() const
void paint(QPainter *painter, const QRect &rect, Qt::Alignment alignment = Qt::AlignCenter, QIcon::Mode mode = Normal, QIcon::State state = Off) const
void paint(QPainter *painter, int x, int y, int w, int h, Qt::Alignment alignment = Qt::AlignCenter, QIcon::Mode mode = Normal, QIcon::State state = Off) const
QPixmap pixmap(const QSize &size, QIcon::Mode mode = Normal, QIcon::State state = Off) const
QPixmap pixmap(int extent, QIcon::Mode mode = Normal, QIcon::State state = Off) const
(since 6.0) QPixmap pixmap(const QSize &size, qreal devicePixelRatio, QIcon::Mode mode = Normal, QIcon::State state = Off) const
QPixmap pixmap(int w, int h, QIcon::Mode mode = Normal, QIcon::State state = Off) const
void setIsMask(bool isMask)
void swap(QIcon &other)
operator QVariant() const
QIcon &operator=(QIcon &&other)
QIcon &operator=(const QIcon &other)

静的パブリックメンバー

QStringList fallbackSearchPaths()
QString fallbackThemeName()
QIcon fromTheme(const QString &name)
(since 6.7) QIcon fromTheme(QIcon::ThemeIcon icon)
(since 6.7) QIcon fromTheme(QIcon::ThemeIcon icon, const QIcon &fallback)
QIcon fromTheme(const QString &name, const QIcon &fallback)
bool hasThemeIcon(const QString &name)
(since 6.7) bool hasThemeIcon(QIcon::ThemeIcon icon)
void setFallbackSearchPaths(const QStringList &paths)
void setFallbackThemeName(const QString &name)
void setThemeName(const QString &name)
void setThemeSearchPaths(const QStringList &paths)
QString themeName()
QStringList themeSearchPaths()
QDataStream &operator<<(QDataStream &stream, const QIcon &icon)
QDataStream &operator>>(QDataStream &stream, QIcon &icon)

詳細な説明

QIcon は、与えられたピクマップのセットから、より小さいもの、より大きいもの、アクティブな状態のもの、および無効な状態のピクマップを生成することができます。このようなピクマップは、Qt UI コンポーネントによって、特定のアクションを表すアイコンを表示するために使用されます。

画像ファイルからのアイコンの作成

QIcon を構築する最も簡単な方法は、1 つまたは複数の画像ファイルやリソースから作成することです。例:

QToolButton *button = new QToolButton;
button->setIcon(QIcon("open.png"));

QIconは、さまざまな状態に対応する複数の画像を格納することができ、Qtはアクションの現在の状態に最も近い画像を選択します。

QIcon openIcon("open.png");
openIcon.addFile("open-disabled.png", size ,QIcon::Disabled);

Qtは、必要に応じて必要なアイコンのスタイルやサイズを生成します。例えば、QIcon::Disabled 状態用のピクマップは、提供されたピクマップの1つをグレーアウトすることで生成される場合があります。

アイコンをクリアするには、その場所にヌルアイコンを設定するだけです:

button->setIcon(QIcon());

サポートされているファイル形式の完全なリストを取得するには、QImageReader::supportedImageFormats() およびQImageWriter::supportedImageFormats() 関数を使用してください。

注: SVG画像ファイルを使用する場合は 、正しいicon engine が選択されるよう、SVG以外のファイルよりも先に追加するようにしてください。

テーマやアイコンライブラリからアイコンを作成する

アイコンを作成する最も便利な方法は、fromTheme() ファクトリ関数を使用することです。Qt は、Freedesktop アイコンテーマ仕様をサポートするプラットフォーム上で、ネイティブのアイコンライブラリへのアクセスを実装しています。

アプリケーションは、同じテーマ仕様を使用して独自のアイコンライブラリを提供できます。テーマ記述の例と、それに対応する画像ファイルのディレクトリ構造については、以下を参照してください。

Qt 6.7以降、QtはmacOS、iOS、およびWindows 10と11においてもネイティブのアイコンライブラリへのアクセスを提供しています。Androidでは、システム上にMaterialIcons-Regularフォントが存在するか、または:/qt-project.org/icons/MaterialIcons-Regular.ttf にアプリケーションのリソースとしてバンドルされている限り、QtはMaterial Designシステムのアイコンにアクセスできます。

QIcon undoicon = QIcon::fromTheme(QIcon::ThemeIcon::EditUndo);

Qt 6.9以降、Qtは利用可能なアイコンフォント内の指定されたグリフからアイコンを生成できるようになりました。theme name をフォントのファミリー名に設定し、グリフ名を指定してfromTheme()を使用します。

QIcon::setThemeName("Material Symbols Outlined");
QIcon muteIcon = QIcon::fromTheme(u"volume_off"_s);

アイコンフォントは、システムにインストールするか、application font として同梱することができます。

アイコンエンジン

内部的には、QIconはアイコン画像の処理とレンダリングを行うためにicon engine バックエンドをインスタンス化します。アイコンエンジンの種類は、QIconオブジェクトに最初に追加されたファイル、ピクマップ、またはテーマによって決定されます。その後追加されるファイルやピクマップも、同じエンジンによって処理されます。

アイコンエンジンは、アイコンの処理およびレンダリング方法が異なります。デフォルトのピクマップベースのエンジンは固定サイズの画像のみを扱いますが、QtSvg モジュールは、提供されたベクターグラフィックスファイルを指定されたサイズで再レンダリングし、より高品質なアイコンを生成できるアイコンエンジンを提供します。テーマアイコンエンジンは通常、ネイティブプラットフォームのアイコンライブラリからの画像のみを提供し、追加されたファイルやピクマップは無視します。

さらに、カスタムアイコンエンジンを提供することも可能です。これにより、アプリケーションは生成されるアイコンのあらゆる側面をカスタマイズできます。QIconEnginePlugin を使用すれば、ファイル拡張子ごとに異なるアイコンエンジンを登録できるため、サードパーティがQtに同梱されているものに加えて、追加のアイコンエンジンを提供することが可能になります。

ユーザーインターフェースでの QIcon の使用

小さなピクマップを設定するオプションを持つ独自のウィジェットを作成する場合は、そのピクマップに QIcon を設定できるようにすることを検討してください。Qt のクラス `QToolButton ` は、そのようなウィジェットの例です。

QIconを設定するメソッドを提供し、ウィジェットの現在の状態に基づいて適切なパラメータを選択して、paint を使用して QIcon を描画してください。例:

void MyWidget::drawIcon(QPainter *painter, const QRect &rect)
{
    icon.paint(painter, rect, Qt::AlignCenter, isEnabled() ? QIcon::Normal
                                                           : QIcon::Disabled,
                                               isChecked() ? QIcon::On
                                                           : QIcon::Off);
}

pixmap(QSize, Mode, State) を使用してピクマップを取得する際、指定されたサイズ、モード、状態に対応するピクマップがaddFile() またはaddPixmap() で追加されていない場合、QIcon はその場でピクマップを生成します。 このピクマップの生成は、QIconEngine 内で行われます。デフォルトのエンジンは、必要に応じてピクマップを縮小しますが、拡大することは決してなく、現在のスタイルを使用して無効時の外観を計算します。

また、Active モードを活用することもできます。例えば、マウスがウィジェット上にホバーしているとき(QWidget::enterEvent()を参照)、マウスが押下され、関数をアクティブにするリリースが待機している間、または現在選択されている項目である場合に、ウィジェットをActive に設定するなどです。ウィジェットがトグル可能な場合は、「On」モードを使用して異なるアイコンを描画することもできます。

ネイティブのアイコンライブラリやアイコンフォントから生成された QIcon は、On 状態とOff 状態の両方で同じグリフを使用します。アプリケーションは、それぞれの UI コントロールやアクションの状態に応じてアイコンを変更できます。Qt Quick アプリケーションでは、バインディングを使用してこれを行うことができます。

ToolButton {
    id: muteButton
    checkable: true
    icon.name: checked ? "volume_off" : "volume_up"
}

QIcon

注:QIconは 、アイコンが作成される前にQGuiApplication のインスタンスを必要とします。

高DPIアイコン

ネイティブのアイコンライブラリによって提供されるアイコン、あるいはアイコンフォント内のグリフから生成されるアイコンは、通常ベクターグラフィックスに基づいており、適切な解像度で自動的にレンダリングされます。

addFile() を通じて独自の画像ファイルを提供する場合、QIcon は Qt の"@nx" high DPI syntax を使用します。これは、独自のディレクトリ構造を持ち、Freedesktop アイコンテーマ仕様に従わない場合に便利です。

アプリケーションテーマを指定する場合は、Icon Theme Specification に従って、各解像度で使用するファイルを指定する必要があります。QIcon に高 DPI 版の画像を使用させるには、該当するindex.theme ファイルに次のエントリを追加します:

[Icon Theme]
Name=Test
Comment=Test Theme

Directories=32x32/actions,32x32@2/actions

[32x32/actions]
Size=32
Context=Actions
Type=Fixed

# High DPI version of the entry above.
[32x32@2/actions]
Size=32
Scale=2
Type=Fixed

これにより、アイコンテーマディレクトリは次のような構成になります:

├── 32x32
│   └── actions
│       └── appointment-new.png
├── 32x32@2
│   └── actions
│       └── appointment-new.png
└── index.theme

メンバ タイプ ドキュメント

enum QIcon::Mode

この列挙型は、ピクマップがどのような用途で使用されることを想定しているかを表すモードを定義する。現在定義されているモードは以下の通りである。

定数値説明
QIcon::Normal0ユーザーがアイコンを操作していないが、アイコンが表す機能が利用可能な場合に、ピクマップを表示します。
QIcon::Disabled1アイコンが表す機能が利用できないときに、ピクマップを表示します。
QIcon::Active2アイコンが表す機能が利用可能で、かつユーザーがアイコンとインタラクションしている場合(例えば、マウスをアイコンの上に移動させたり、クリックしたりしている場合)に、ピクマップを表示します。
QIcon::Selected3アイコンが表す項目が選択されているときに、ピクマップを表示します。

enum QIcon::State

この列挙型は、ピクマップがどのような用途で使用されることを想定しているかを表します。状態には以下のものがあります:

定数値説明
QIcon::On0ウィジェットが「オン」状態のときにピクマップを表示する
QIcon::Off1ウィジェットが「オフ」の状態のときにピクマップを表示する

[since 6.7] enum class QIcon::ThemeIcon

この列挙型は、ほとんどのアイコンテーマの実装で提供されているアイコンへのアクセスを可能にします。

定数値説明
QIcon::ThemeIcon::AddressBookNew0新しいアドレス帳を作成する操作のアイコン。
QIcon::ThemeIcon::ApplicationExit1アプリケーションを終了するためのアクションのアイコン。
QIcon::ThemeIcon::AppointmentNew2新しい予定を作成するアクションのアイコン。
QIcon::ThemeIcon::CallStart3通話を開始または受け入れるためのアイコン。
QIcon::ThemeIcon::CallStop4現在の通話を終了するためのアイコン。
QIcon::ThemeIcon::ContactNew5新しい連絡先を作成するアクションのアイコン。
QIcon::ThemeIcon::DocumentNew6新しいドキュメントを作成するアクションのアイコン。
QIcon::ThemeIcon::DocumentOpen7ドキュメントを開くアクションのアイコン。
QIcon::ThemeIcon::DocumentOpenRecent8最近開いたドキュメントを開く操作のアイコン。
QIcon::ThemeIcon::DocumentPageSetup9ページ設定アクションのアイコン。
QIcon::ThemeIcon::DocumentPrint10印刷アクションのアイコン。
QIcon::ThemeIcon::DocumentPrintPreview11印刷プレビュー操作のアイコン。
QIcon::ThemeIcon::DocumentProperties12ドキュメントのプロパティを表示する操作のアイコン。
QIcon::ThemeIcon::DocumentRevert13ドキュメントの以前のバージョンに戻す操作のアイコン。
QIcon::ThemeIcon::DocumentSave14「保存」アクションのアイコン。
QIcon::ThemeIcon::DocumentSaveAs15「名前を付けて保存」アクションのアイコン。
QIcon::ThemeIcon::DocumentSend16送信アクションのアイコン。
QIcon::ThemeIcon::EditClear17クリア操作のアイコン。
QIcon::ThemeIcon::EditCopy18「コピー」操作のアイコン。
QIcon::ThemeIcon::EditCut19「切り取り」アクションのアイコン。
QIcon::ThemeIcon::EditDelete20「削除」アクションのアイコン。
QIcon::ThemeIcon::EditFind21検索アクションのアイコン。
QIcon::ThemeIcon::EditPaste22「貼り付け」操作のアイコン。
QIcon::ThemeIcon::EditRedo23やり直し操作のアイコン。
QIcon::ThemeIcon::EditSelectAll24「すべて選択」操作のアイコン。
QIcon::ThemeIcon::EditUndo25「元に戻す」操作のアイコン。
QIcon::ThemeIcon::FolderNew26新しいフォルダを作成するアイコン。
QIcon::ThemeIcon::FormatIndentLess27インデントを縮小する書式設定アクションのアイコン。
QIcon::ThemeIcon::FormatIndentMore28インデントを広げる書式設定アクションのアイコン。
QIcon::ThemeIcon::FormatJustifyCenter29中央揃えの書式設定アクションのアイコン。
QIcon::ThemeIcon::FormatJustifyFill30「詰め揃え」書式設定アクションのアイコン。
QIcon::ThemeIcon::FormatJustifyLeft31左揃えの書式設定アクションのアイコン。
QIcon::ThemeIcon::FormatJustifyRight32右揃えの書式設定アクションのアイコン。
QIcon::ThemeIcon::FormatTextDirectionLtr33左から右へのテキスト書式設定アクションのアイコン。
QIcon::ThemeIcon::FormatTextDirectionRtl34右から左へのテキスト書式設定アクションのアイコン。
QIcon::ThemeIcon::FormatTextBold35太字の書式設定アクションのアイコン。
QIcon::ThemeIcon::FormatTextItalic36斜体テキスト書式設定アクションのアイコン。
QIcon::ThemeIcon::FormatTextUnderline37下線付きテキストの書式設定アクションのアイコン。
QIcon::ThemeIcon::FormatTextStrikethrough38取り消し線テキスト書式設定アクションのアイコン。
QIcon::ThemeIcon::GoDown39リスト内で下へ移動するアクションのアイコン。
QIcon::ThemeIcon::GoHome40ホーム位置へ移動するアクションのアイコン。
QIcon::ThemeIcon::GoNext41リスト内の次の項目に移動するアクションのアイコン。
QIcon::ThemeIcon::GoPrevious42リスト内の前の項目に移動するアクションのアイコン。
QIcon::ThemeIcon::GoUp43リスト内で1つ上に移動するアクションのアイコン。
QIcon::ThemeIcon::HelpAbout44「ヘルプ」メニュー内の「バージョン情報」項目のアイコン。
QIcon::ThemeIcon::HelpFaq45「ヘルプ」メニューの「FAQ」項目のアイコン。
QIcon::ThemeIcon::InsertImage46アプリケーションの「画像を挿入」アクションのアイコン。
QIcon::ThemeIcon::InsertLink47アプリケーションの「リンクを挿入」アクションのアイコン。
QIcon::ThemeIcon::InsertText48アプリケーションの「テキストを挿入」アクションのアイコン。
QIcon::ThemeIcon::ListAdd49「リストに追加」アクションのアイコン。
QIcon::ThemeIcon::ListRemove50リストから削除するアクションのアイコン。
QIcon::ThemeIcon::MailForward51「転送」アクションのアイコン。
QIcon::ThemeIcon::MailMarkImportant52「重要」としてマークするアクションのアイコン。
QIcon::ThemeIcon::MailMarkRead53「既読にする」アクションのアイコン。
QIcon::ThemeIcon::MailMarkUnread54「未読にする」アクションのアイコン。
QIcon::ThemeIcon::MailMessageNew55新規メール作成アクションのアイコン。
QIcon::ThemeIcon::MailReplyAll56全員に返信する操作のアイコン。
QIcon::ThemeIcon::MailReplySender57送信者に返信するアクションのアイコン。
QIcon::ThemeIcon::MailSend58「送信」アクションのアイコン。
QIcon::ThemeIcon::MediaEject59メディアプレーヤーまたはファイルマネージャーの「取り出し」アクションのアイコン。
QIcon::ThemeIcon::MediaPlaybackPause60メディアプレーヤーの「一時停止」アクションのアイコン。
QIcon::ThemeIcon::MediaPlaybackStart61メディアプレーヤーの「再生開始」アクションのアイコン。
QIcon::ThemeIcon::MediaPlaybackStop62メディアプレーヤーの「停止」アクションのアイコン。
QIcon::ThemeIcon::MediaRecord63メディアアプリケーションの「録音」アクションのアイコン。
QIcon::ThemeIcon::MediaSeekBackward64メディアプレーヤーの巻き戻し操作を表すアイコン。
QIcon::ThemeIcon::MediaSeekForward65メディアプレーヤーの早送りアクションのアイコン。
QIcon::ThemeIcon::MediaSkipBackward66メディアプレーヤーの「スキップ(後ろ)」アクションのアイコン。
QIcon::ThemeIcon::MediaSkipForward67メディアプレーヤーの「早送り」操作を表すアイコン。
QIcon::ThemeIcon::ObjectRotateLeft68オブジェクトに対して実行される「左回転」アクションのアイコン。
QIcon::ThemeIcon::ObjectRotateRight69オブジェクトに対して実行される「右回転」アクションのアイコン。
QIcon::ThemeIcon::ProcessStop70ブラウザでのウェブページの読み込みなど、処理に時間がかかる可能性があるアクションがあるアプリケーションの停止アクションを表すアイコン。
QIcon::ThemeIcon::SystemLockScreen71画面ロック操作のアイコン。
QIcon::ThemeIcon::SystemLogOut72ログアウト操作のアイコン。
QIcon::ThemeIcon::SystemSearch73検索アクションのアイコン。
QIcon::ThemeIcon::SystemReboot74再起動アクションのアイコン。
QIcon::ThemeIcon::SystemShutdown75シャットダウン操作のアイコン。
QIcon::ThemeIcon::ToolsCheckSpelling76スペルチェックアクションのアイコン。
QIcon::ThemeIcon::ViewFullscreen77全画面表示アクションのアイコン。
QIcon::ThemeIcon::ViewRefresh78更新アクションのアイコン。
QIcon::ThemeIcon::ViewRestore79全画面表示を終了するアクションのアイコン。
QIcon::ThemeIcon::WindowClose80ウィンドウを閉じるアクションのアイコン。
QIcon::ThemeIcon::WindowNew81新しいウィンドウを開くアクションのアイコン。
QIcon::ThemeIcon::ZoomFitBest82「最適化」アクションのアイコン。
QIcon::ThemeIcon::ZoomIn83拡大操作のアイコン。
QIcon::ThemeIcon::ZoomOut84縮小操作のアイコン。
QIcon::ThemeIcon::AudioCard85オーディオ再生デバイスのアイコン。
QIcon::ThemeIcon::AudioInputMicrophone86マイク(オーディオ入力デバイス)のアイコン。
QIcon::ThemeIcon::Battery87システムのバッテリーデバイスのアイコン。
QIcon::ThemeIcon::CameraPhoto88デジタルスチルカメラデバイスのアイコン。
QIcon::ThemeIcon::CameraVideo89ビデオカメラデバイスのアイコン。
QIcon::ThemeIcon::CameraWeb90Webカメラデバイスのアイコン。
QIcon::ThemeIcon::Computer91コンピュータデバイス全体を表すアイコン。
QIcon::ThemeIcon::DriveHarddisk92ハードディスクドライブのアイコン。
QIcon::ThemeIcon::DriveOptical93CDやDVDなどの光学メディアドライブのアイコン。
QIcon::ThemeIcon::InputGaming94ゲーム用入力デバイスのアイコン。
QIcon::ThemeIcon::InputKeyboard95キーボード入力デバイスのアイコン。
QIcon::ThemeIcon::InputMouse96マウス入力デバイスのアイコン。
QIcon::ThemeIcon::InputTablet97グラフィックタブレットの入力デバイス用のアイコン。
QIcon::ThemeIcon::MediaFlash98メモリースティックなどのフラッシュメディアのアイコン。
QIcon::ThemeIcon::MediaOptical99CDやDVDなどの物理的な光学メディアのアイコン。
QIcon::ThemeIcon::MediaTape100汎用の物理的なテープメディアのアイコン。
QIcon::ThemeIcon::MultimediaPlayer101汎用マルチメディア再生デバイスのアイコン。
QIcon::ThemeIcon::NetworkWired102有線ネットワーク接続のアイコン。
QIcon::ThemeIcon::NetworkWireless103ワイヤレスネットワーク接続のアイコン。
QIcon::ThemeIcon::Phone104電話端末のアイコン。
QIcon::ThemeIcon::Printer105プリンタデバイスのアイコン。
QIcon::ThemeIcon::Scanner106スキャナーデバイスのアイコン。
QIcon::ThemeIcon::VideoDisplay107映像が表示されるモニターのアイコン。
QIcon::ThemeIcon::AppointmentMissed108予定を逃してしまった場合のアイコン。
QIcon::ThemeIcon::AppointmentSoon109まもなく予定がある場合のアイコン。
QIcon::ThemeIcon::AudioVolumeHigh110音量が大きいことを示すアイコン。
QIcon::ThemeIcon::AudioVolumeLow111音量が小さいことを示すアイコン。
QIcon::ThemeIcon::AudioVolumeMedium112音量が中程度であることを示すアイコン。
QIcon::ThemeIcon::AudioVolumeMuted113音声再生のミュート状態を示すアイコン。
QIcon::ThemeIcon::BatteryCaution114バッテリー残量が40%を下回った際に表示されるアイコン。
QIcon::ThemeIcon::BatteryLow115バッテリー残量が20%未満のときに表示されるアイコン。
QIcon::ThemeIcon::DialogError116エラー状態をユーザーに説明するためのダイアログが開かれた際に使用されるアイコン。
QIcon::ThemeIcon::DialogInformation117要求されたアクションに関連する情報をユーザーに提供するためのダイアログが開かれたときに使用されるアイコン。
QIcon::ThemeIcon::DialogPassword118ユーザーの認証情報を要求するダイアログが開かれたときに使用されるアイコン。
QIcon::ThemeIcon::DialogQuestion119ユーザーに簡単な質問をするためにダイアログが開かれたときに使用されるアイコン。
QIcon::ThemeIcon::DialogWarning120要求された操作に関して、差し迫った問題についてユーザーに警告するダイアログが開かれたときに使用されるアイコン。
QIcon::ThemeIcon::FolderDragAccept121許容されるオブジェクトがフォルダ上にドラッグされている間、そのフォルダに使用されるアイコン。
QIcon::ThemeIcon::FolderOpen122フォルダの内容が同じウィンドウ内に表示されている間、そのフォルダに使用されるアイコン。
QIcon::ThemeIcon::FolderVisiting123フォルダの内容が別のウィンドウに表示されている間、そのフォルダに使用されるアイコン。
QIcon::ThemeIcon::ImageLoading124別の画像が読み込まれている間に使用されるアイコン。
QIcon::ThemeIcon::ImageMissing125別の画像を読み込めなかった際に表示されるアイコン。
QIcon::ThemeIcon::MailAttachment126添付ファイルを含むメッセージのアイコン。
QIcon::ThemeIcon::MailUnread127未読メッセージのアイコン。
QIcon::ThemeIcon::MailRead128既読のメッセージのアイコン。
QIcon::ThemeIcon::MailReplied129返信済みのメッセージのアイコン。
QIcon::ThemeIcon::MediaPlaylistRepeat130メディアプレーヤーのリピートモードのアイコン。
QIcon::ThemeIcon::MediaPlaylistShuffle131メディアプレーヤーのシャッフルモードを表すアイコン。
QIcon::ThemeIcon::NetworkOffline132デバイスがネットワークに接続されていないことを示すアイコン。
QIcon::ThemeIcon::PrinterPrinting133印刷ジョブが印刷デバイスに正常にスプールされている間、表示されるアイコン。
QIcon::ThemeIcon::SecurityHigh134項目のセキュリティレベルが高いことがわかっていることを示すために使用されるアイコン。
QIcon::ThemeIcon::SecurityLow135項目のセキュリティレベルが低いことがわかっていることを示すアイコン。
QIcon::ThemeIcon::SoftwareUpdateAvailable136更新プログラムが利用可能であることを示すアイコン。
QIcon::ThemeIcon::SoftwareUpdateUrgent137緊急の更新が利用可能であることを示すアイコン。
QIcon::ThemeIcon::SyncError138デバイス間でデータの同期を試行中にエラーが発生した際に表示されるアイコン。
QIcon::ThemeIcon::SyncSynchronizing139デバイス間でデータの同期が正常に行われている際に表示されるアイコン。
QIcon::ThemeIcon::UserAvailable140ユーザーが利用可能であることを示すために使用されるアイコン。
QIcon::ThemeIcon::UserOffline141ユーザーが利用できないことを示すために使用されるアイコン。
QIcon::ThemeIcon::WeatherClear142空が晴れていることを示すアイコン。
QIcon::ThemeIcon::WeatherClearNight143夜間に空が晴れていることを示すアイコン。
QIcon::ThemeIcon::WeatherFewClouds144空が部分的に曇っていることを示すアイコン。
QIcon::ThemeIcon::WeatherFewCloudsNight145夜間に空が部分的に曇っていることを示すアイコン。
QIcon::ThemeIcon::WeatherFog146霧が出ていることを示すアイコン。
QIcon::ThemeIcon::WeatherShowers147にわか雨が降っていることを示すアイコン。
QIcon::ThemeIcon::WeatherSnow148雪が降っていることを示すアイコン。
QIcon::ThemeIcon::WeatherStorm149嵐の天気を表すために使用されるアイコン。

この列挙型は Qt 6.7 で導入されました。

Creating an icon from a theme or icon library およびfromTheme()も参照してください 。

メンバ関数のドキュメント

[noexcept] QIcon::QIcon()

nullアイコンを作成します。

[explicit] QIcon::QIcon(QIconEngine *engine)

指定されたアイコン(engine )を使用してアイコンを作成します。このアイコンがエンジンの所有権を引き継ぎます。

QIcon::QIcon(const QPixmap &pixmap)

pixmap からアイコンを作成します。

[explicit] QIcon::QIcon(const QString &fileName)

指定されたfileName を持つファイルからアイコンを生成します。ファイルはオンデマンドで読み込まれます。

fileName に相対パス(例:ファイル名のみ)が含まれている場合、該当するファイルはランタイムの作業ディレクトリを基準として見つかる必要があります。

ファイル名は、ディスク上の実際のファイル、またはアプリケーションに埋め込まれたリソースのいずれかを指すことができます。アプリケーションの実行ファイルに画像やその他のリソースファイルを埋め込む方法の詳細については、「リソースシステムの概要」を参照してください。

サポートされているファイル形式の完全なリストを取得するには、QImageReader::supportedImageFormats() およびQImageWriter::supportedImageFormats() 関数を使用してください。

QIcon::QIcon(const QIcon &other)

other のコピーを作成します。これは非常に高速です。

[noexcept] QIcon::QIcon(QIcon &&other)

QIconのインスタンスをムーブコンストラクタで生成し、other が指していたのと同じオブジェクトを指すようにします。

[noexcept] QIcon::~QIcon()

アイコンを削除します。

QSize QIcon::actualSize(const QSize &size, QIcon::Mode mode = Normal, QIcon::State state = Off) const

指定されたsize 、mode 、およびstate のアイコンの実際のサイズを返します。結果は指定されたサイズより小さくなる場合がありますが、大きくなることはありません。返されるサイズはデバイス非依存ピクセル単位です(これは高DPIのピクマップに関連します)。

pixmap() およびpaint()も参照してください 。

void QIcon::addFile(const QString &fileName, const QSize &size = QSize(), QIcon::Mode mode = Normal, QIcon::State state = Off)

指定されたfileName を持つファイル内の画像を、size 、mode 、およびstate の特殊なケースとして、アイコンに追加します。ファイルはオンデマンドで読み込まれます。注:カスタムアイコンエンジンは、追加で指定されたピクマップを無視しても構いません。

fileName に相対パス(例:ファイル名のみ)が含まれている場合、該当するファイルは実行時の作業ディレクトリを基準にして検索されなければなりません。

ファイル名は、ディスク上の実際のファイル、またはアプリケーションに埋め込まれたリソースのいずれかを指すことができます。アプリケーションの実行ファイルに画像やその他のリソースファイルを埋め込む方法の詳細については、「リソースシステムの概要」を参照してください。

QImageReader::supportedImageFormats() およびQImageWriter::supportedImageFormats() 関数を使用して、サポートされているファイル形式の完全なリストを取得してください。

画像の高解像度バージョンが存在する場合(ベース名の接尾辞@2x で識別されます)、それは自動的に読み込まれ、デバイスピクセル比が2 に設定されて追加されます。これは、環境変数QT_HIGHDPI_DISABLE_2X_IMAGE_LOADING を設定することで無効にできます(QImageReader を参照してください)。

注: QIcon に空でないファイル名を指定すると 、ファイルが存在しない場合や破損したファイルを指している場合でも、アイコンは null 以外になります。

addPixmap() およびQPixmap::devicePixelRatio()も参照してください 。

void QIcon::addPixmap(const QPixmap &pixmap, QIcon::Mode mode = Normal, QIcon::State state = Off)

mode およびstate の特化形として、pixmap をアイコンに追加します。

カスタムアイコンエンジンは、追加で追加されたピクマップを無視しても構いません。

addFile()も参照してください 。

QList<QSize> QIcon::availableSizes(QIcon::Mode mode = Normal, QIcon::State state = Off) const

指定されたmode およびstate で使用可能なアイコンサイズのリストを返します。

qint64 QIcon::cacheKey() const

このQIcon オブジェクトの内容を識別する番号を返します。異なるQIcon オブジェクトであっても、同じ内容を指している場合は、同じキーを持つことがあります。

addPixmap() またはaddFile() によってアイコンが変更されると、cacheKey() の値も変更されます。

キャッシュキーは、主にキャッシュ機能と組み合わせて使用すると便利です。

QPixmap::cacheKey()も参照してください 。

[static] QStringList QIcon::fallbackSearchPaths()

アイコンのフォールバック検索パスを返します。

current icon theme またはfallback icon theme によるアイコン検索で結果が得られなかった場合、スタンドアロンのアイコンファイルに対してこれらのフォールバック検索パスが参照されます。

設定されていない場合、フォールバック検索パスはプラットフォームによって定義されます。

setFallbackSearchPaths() およびthemeSearchPaths()も参照してください 。

[static] QString QIcon::fallbackThemeName()

フォールバックのアイコンテーマの名前を返します。

設定されていない場合、フォールバックアイコンテーマはプラットフォームによって定義されます。

注: プラットフォームのフォールバックアイコンテーマは 、現時点ではFreedesktopベースのシステムでのみ実装されており、アイコンテーマはデスクトップ設定によって異なります。

関連項目: setFallbackThemeName() およびthemeName()。

[static] QIcon QIcon::fromTheme(const QString &name)

current icon theme 内のname に対応するQIcon を返します。

現在のテーマにname 用のアイコンがない場合、まずfallback icon theme が参照され、それでも見つからない場合はfallback icon search path 内の独立したアイコンファイルが検索されます。最後に、プラットフォームのネイティブアイコンライブラリが参照されます。

現在のアイコンテーマからアイコンを取得するには:

QIcon undoicon = QIcon::fromTheme(QIcon::ThemeIcon::EditUndo);

icon theme がsetThemeName()を介して明示的に設定されていない場合、プラットフォームで定義されたアイコンテーマが使用されます。

関連項目: themeName()、fallbackThemeName()、setThemeName()、themeSearchPaths()、fallbackSearchPaths()、およびFreedesktop アイコン命名仕様。

[static, since 6.7] QIcon QIcon::fromTheme(QIcon::ThemeIcon icon)

[static, since 6.7] QIcon QIcon::fromTheme(QIcon::ThemeIcon icon, const QIcon &fallback)

current icon theme 内のicon に対応するQIcon を返します。

現在のテーマがicon 用のアイコンを提供していない場合、まずfallback icon theme を参照し、それでも見つからない場合はfallback icon search path 内の独立したアイコンファイルを検索します。最後に、プラットフォームのネイティブアイコンライブラリが参照されます。

アイコンが見つからず、かつfallback が指定されている場合は、fallback が返されます。これは、現在のアイコンテーマやフォールバックパスが要求されたアイコンをサポートしているかどうかに関わらず、確実なフォールバックを提供するために役立ちます。

アイコンが見つからず、fallback も指定されていない場合は、デフォルトで生成された空のQIcon が返されます。

これらの関数は Qt 6.7 で導入されました。

[static] QIcon QIcon::fromTheme(const QString &name, const QIcon &fallback)

current icon theme 内のname に対応するQIcon を返します。

現在のテーマにname 用のアイコンが用意されていない場合、まずfallback icon theme が参照され、次にfallback icon search path 内の独立したアイコンファイルが検索されます。最後に、プラットフォームのネイティブアイコンライブラリが参照されます。

アイコンが見つからない場合は、fallback が返されます。

これは、現在のアイコンテーマやフォールバックパスのセットが要求されたアイコンをサポートしているかどうかにかかわらず、確実なフォールバックを提供するために役立ちます。

例:

QIcon undoicon = QIcon::fromTheme(QIcon::ThemeIcon::EditUndo, QIcon(":/undo.png"));

これはオーバーロードされた関数です。

fallbackThemeName() およびfallbackSearchPaths()も参照してください 。

[static] bool QIcon::hasThemeIcon(const QString &name)

fromTheme() で説明されているように、現在のアイコンテーマまたはいずれかのフォールバックテーマにname 用のアイコンが存在する場合、true を返します。それ以外の場合は、false を返します。

themeSearchPaths()、fromTheme()、およびsetThemeName()も参照してください 。

[static, since 6.7] bool QIcon::hasThemeIcon(QIcon::ThemeIcon icon)

fromTheme() で説明されているように、現在のアイコンテーマまたはいずれかのフォールバックテーマに `icon ` 用のアイコンが存在する場合、true を返します。それ以外の場合は、false を返します。

これはオーバーロードされた関数です。

この関数は Qt 6.7 で導入されました。

fromTheme()も参照してください 。

bool QIcon::isMask() const

このアイコンがマスク画像としてマークされている場合、true を返します。プラットフォームによっては、マスクアイコンの表示方法が異なります(例:macOS のメニューアイコン)。

setIsMask()も参照してください 。

bool QIcon::isNull() const

アイコンが空の場合は `true ` を返し、それ以外の場合は `false` を返します。

アイコンにはピクマップもファイル名も指定されていない場合、そのアイコンは空とみなされます。

注:null ではないアイコンであっても、ファイルが存在しない場合や読み取れない場合など、有効なピクマップを作成できないことがあります。

QString QIcon::name() const

利用可能な場合、アイコンの作成に使用された名前を返します。

アイコンの作成方法によっては、関連付けられた名前が存在する場合があります。これは、fromTheme() を使用して作成されたアイコンの場合に当てはまります。

fromTheme() およびQIconEngine::iconName()も参照してください 。

void QIcon::paint(QPainter *painter, const QRect &rect, Qt::Alignment alignment = Qt::AlignCenter, QIcon::Mode mode = Normal, QIcon::State state = Off) const

painter を使用して、指定されたalignment 、必須のmode 、およびstate を用いて、矩形rect 内にアイコンを描画します。

actualSize() およびpixmap()も参照してください 。

void QIcon::paint(QPainter *painter, int x, int y, int w, int h, Qt::Alignment alignment = Qt::AlignCenter, QIcon::Mode mode = Normal, QIcon::State state = Off) const

アイコンを長方形QRect 内に描画します(x 、y 、w 、h )。

これはオーバーロードされた関数です。

QPixmap QIcon::pixmap(const QSize &size, QIcon::Mode mode = Normal, QIcon::State state = Off) const

指定されたsize 、mode 、およびstate を持つピクマップを返します。必要に応じてピクマップを生成します。返されるピクマップは、指定されたサイズよりも小さくなることはありますが、大きくなることはありません。ただし、返されるピクマップのデバイス・ピクセル比が1より大きい場合はこの限りではありません。

actualSize() およびpaint()も参照してください 。

QPixmap QIcon::pixmap(int extent, QIcon::Mode mode = Normal, QIcon::State state = Off) const

QSize (extent 、extent )のサイズのピクマップを返します。返されるピクマップは、要求されたサイズより小さくなることはありますが、返されるピクマップのデバイス・ピクセル比が 1 より大きい場合を除き、決して大きくなることはありません。

これはオーバーロードされた関数です。

[since 6.0] QPixmap QIcon::pixmap(const QSize &size, qreal devicePixelRatio, QIcon::Mode mode = Normal, QIcon::State state = Off) const

指定されたsize 、devicePixelRatio 、mode 、およびstate を持つピクマップを返します。必要に応じて、指定されたmode およびstate を用いてピクマップを生成します。返されるピクマップは、要求されたサイズより小さくなることはありますが、大きくなることはありません。ただし、返されるピクマップのデバイスピクセル比が1を超える場合はこの限りではありません。

注: 指定された devicePixelRatioと 返される値が一致しない場合があります。この場合、QPixmap のスケーリングは、後で描画されるまで遅延します。

注: Qt 6.8以前では、 この関数はデバイス依存のピクマップサイズをQIconEngine::scaledPixmap() に誤って渡していました。Qt 6.8 以降では、デバイス非依存のサイズ(devicePixelRatio でスケーリングされていないもの)が渡されます。

これはオーバーロードされた関数です。

この関数は Qt 6.0 で導入されました。

actualSize() およびpaint()も参照してください 。

QPixmap QIcon::pixmap(int w, int h, QIcon::Mode mode = Normal, QIcon::State state = Off) const

QSize (w 、h )サイズのピクマップを返します。返されるピクマップは、要求されたサイズより小さくなることはありますが、返されるピクマップのデバイス・ピクセル比が 1 より大きい場合を除き、決して大きくなることはありません。

これはオーバーロードされた関数です。

[static] void QIcon::setFallbackSearchPaths(const QStringList &paths)

アイコンのフォールバック検索パスをpaths に設定します。

current icon theme またはfallback icon theme でアイコンの検索結果が得られない場合、スタンドアロンのアイコンファイルについては、これらのフォールバック検索パスが参照されます。

例:

QIcon::setFallbackSearchPaths(QIcon::fallbackSearchPaths() << "my/search/path");

fallbackSearchPaths() およびsetThemeSearchPaths()も参照してください 。

[static] void QIcon::setFallbackThemeName(const QString &name)

フォールバックのアイコンテーマをname に設定します。

フォールバックアイコンテーマは、current icon theme で提供されていないアイコンがある場合、またはcurrent icon theme が存在しない場合に参照されます。

name は、setThemeName() で記載されている形式と同じ形式のテーマに対応している必要があり、themeSearchPaths() で参照されます。

注: 正しい初期化を行うためには、QGuiApplication を作成する前に、フォールバックの アイコンテーマを設定しておく必要があります。

関連項目: fallbackThemeName()、themeSearchPaths()、およびthemeName()。

void QIcon::setIsMask(bool isMask)

このアイコンがマスク画像(ブール値isMask )であることを示し、したがって、表示される場所に応じて変更される可能性があることを示します。

isMask()も参照してください 。

[static] void QIcon::setThemeName(const QString &name)

現在のアイコンテーマを「name 」に設定します。

テーマ名が、名前付きグリフを提供するインストール済みのフォント名と一致する場合、QIcon::fromTheme はそのグリフのいずれかと一致する呼び出しを行い、そのグリフに対応するアイコンを生成します。

そうでない場合、themeSearchPaths() 内でテーマが検索されます。現時点でサポートされているアイコンテーマ形式は、Freedesktop アイコンテーマ仕様のみです。name は、themeSearchPath() 内のディレクトリ名に対応しており、そのディレクトリには、その内容を記述したindex.theme ファイルが含まれている必要があります。

themeSearchPaths()、themeName()、およびFreedesktop アイコンテーマ仕様も参照してください 。

[static] void QIcon::setThemeSearchPaths(const QStringList &paths)

アイコンテーマの検索パスをpaths に設定します。

paths の内容は、setThemeName() に記載されているテーマ形式に従う必要があります。

themeSearchPaths()、fromTheme()、およびsetThemeName()も参照してください 。

[noexcept] void QIcon::swap(QIcon &other)

このアイコンをother と入れ替えます。この操作は非常に高速で、失敗することはありません。

[static] QString QIcon::themeName()

現在のアイコンテーマの名前を返します。

設定されていない場合、現在のアイコンテーマはプラットフォームによって決定されます。

注: プラットフォームのアイコン テーマは、現時点ではFreedesktopベースのシステムでのみ実装されており、アイコンテーマはデスクトップ設定によって異なります。

関連項目: setThemeName(),themeSearchPaths(),fromTheme(), およびhasThemeIcon()。

[static] QStringList QIcon::themeSearchPaths()

アイコンテーマの検索パスを返します。

デフォルトの検索パスはプラットフォームによって定義されます。また、すべてのプラットフォームにおいて、リソースディレクトリ `:\icons ` がフォールバックとして用意されています。

setThemeSearchPaths()、fromTheme()、およびsetThemeName()も参照してください 。

QIcon::operator QVariant() const

アイコンをQVariant として返します。

[noexcept] QIcon &QIcon::operator=(QIcon &&other)

other をこのQIcon インスタンスに移動・割り当てます。

QIcon &QIcon::operator=(const QIcon &other)

このアイコンに「other 」アイコンを割り当て、このアイコンへの参照を返します。

関連する非メンバー

QDataStream &operator<<(QDataStream &stream, const QIcon &icon)

指定されたicon を、指定されたstream にPNG画像として書き込みます。アイコンに複数の画像が含まれている場合、すべての画像がストリームに書き込まれます。なお、このストリームをファイルに書き込んでも、有効な画像ファイルは生成されませんのでご注意ください。

QDataStream &operator>>(QDataStream &stream, QIcon &icon)

指定されたstream から画像または一連の画像を読み込み、指定されたicon に書き込みます。

© 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.