QSystemTrayIcon Class

QSystemTrayIconクラスは、システムトレイにアプリケーションのアイコンを提供します。詳細...

ヘッダー #include <QSystemTrayIcon>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
継承: QObject

パブリックな型

enum ActivationReason { Unknown, Context, DoubleClick, Trigger, MiddleClick }
enum MessageIcon { NoIcon, Information, Warning, Critical }

プロパティ

パブリック機能

QSystemTrayIcon(QObject *parent = nullptr)
QSystemTrayIcon(const QIcon &icon, QObject *parent = nullptr)
virtual ~QSystemTrayIcon()
QMenu *contextMenu() const
QRect geometry() const
QIcon icon() const
bool isVisible() const
void setContextMenu(QMenu *menu)
void setIcon(const QIcon &icon)
void setToolTip(const QString &tip)
QString toolTip() const

パブリックスロット

void hide()
void setVisible(bool visible)
void show()
void showMessage(const QString &title, const QString &message, QSystemTrayIcon::MessageIcon icon = QSystemTrayIcon::Information, int millisecondsTimeoutHint = 10000)
void showMessage(const QString &title, const QString &message, const QIcon &icon, int millisecondsTimeoutHint = 10000)

シグナル

void activated(QSystemTrayIcon::ActivationReason reason)
void messageClicked()

静的パブリックメンバ

再実装された保護された関数

virtual bool event(QEvent *e) override

詳しい説明

最近のオペレーティングシステムは、通常、システムトレイまたは通知領域と呼ばれるデスクトップ上の特別な領域を提供し、長時間実行されるアプリケーションは、アイコンや短いメッセージを表示することができます。

The system tray on Windows 10.

QSystemTrayIcon クラスは、以下のプラットフォームで使用できます:

  • サポートされているすべてのバージョンの Windows。
  • KDE、Gnome、Xfce、LXQt、DDE を含む、D-BusStatusNotifierItem 仕様を実装するすべての Linux デスクトップ環境。
  • freedesktop.org XEmbed システムトレイ仕様を実装しているすべてのウィンドウマネージャと X11 用の独立トレイ実装。
  • サポートされているすべてのバージョンの macOS。

システムトレイがユーザーのデスクトップに存在するかどうかを確認するには、QSystemTrayIcon::isSystemTrayAvailable() 静的関数を呼び出します。

システムトレイのエントリを追加するには、QSystemTrayIcon オブジェクトを作成し、setContextMenu() を呼び出してアイコンのコンテキストメニューを提供し、show() を呼び出してシステムトレイに表示させます。ステータス通知メッセージ(「バルーン・メッセージ」)は、showMessage ()を使用していつでも表示できます。

システム・トレイ・アイコンを作成したときにシステム・トレイが利用できず、後で利用できるようになった場合、アイコンがvisible であれば、QSystemTrayIcon は自動的にシステム・トレイにアプリケーションのエントリを追加します。

ユーザーがアイコンをアクティブにすると、activated() シグナルが発行されます。

X11 でのみ、ツールチップが要求されると、QSystemTrayIcon はQEvent::ToolTip 型のQHelpEvent を受け取ります。さらに、QSystemTrayIcon はQEvent::Wheel タイプのホイールイベントを受信します。これらは他のプラットフォームではサポートされていません。注意: GNOME Shell バージョン 3.26 以降、シェル拡張がインストールされていないシステムでは、すべてのQSystemTrayIcon::ActivationReason がサポートされているわけではありません。

QDesktopServicesデスクトップ統合、およびシステムトレイアイコンの例も参照してください

メンバ型ドキュメント

enum QSystemTrayIcon::ActivationReason

この列挙型は、システムトレイがアクティブになった理由を記述します。

定数説明
QSystemTrayIcon::Unknown0不明な理由
QSystemTrayIcon::Context1システムトレイエントリのコンテキストメニューが要求された。
QSystemTrayIcon::DoubleClick2システムトレイエントリがダブルクリックされた。

注意: macOS では、ダブルクリックはコンテキストメニューが設定されていない場合にのみ発生します。

定数説明
QSystemTrayIcon::Trigger3システムトレイエントリがクリックされた
QSystemTrayIcon::MiddleClick4システムトレイエントリがマウスの中ボタンでクリックされた。

activated()も参照

enum QSystemTrayIcon::MessageIcon

この列挙型は、バルーンメッセージが表示されるときに表示されるアイコンを記述します。

定数説明
QSystemTrayIcon::NoIcon0アイコンは表示されない。
QSystemTrayIcon::Information1情報アイコンが表示される。
QSystemTrayIcon::Warning2標準警告アイコン
QSystemTrayIcon::Critical3重要な警告アイコンが表示される。

QMessageBoxも参照

プロパティ・ドキュメンテーション

icon : QIcon

このプロパティはシステムトレイアイコンを保持します。

Windowsでは、システムトレイアイコンのサイズは16x16であり、X11では22x22が望ましいサイズである。 アイコンは必要に応じて適切なサイズに拡大縮小される。

アクセス関数:

QIcon icon() const
void setIcon(const QIcon &icon)

toolTip : QString

このプロパティは、システムトレイエントリのツールチップを保持します。

システムによっては、ツールチップの長さに制限があります。必要に応じて、ツールチップは切り捨てられます。

アクセス関数

QString toolTip() const
void setToolTip(const QString &tip)

visible : bool

このプロパティは、システム・トレイ・エントリが表示されているかどうかを保持する。

このプロパティをtrueに設定するか、show ()を呼び出すと、システム・トレイ・アイコンが表示されます。このプロパティをfalseに設定するか、hide ()を呼び出すと、非表示になります。

アクセス関数:

bool isVisible() const
void setVisible(bool visible)

メンバ関数ドキュメント

QSystemTrayIcon::QSystemTrayIcon(QObject *parent = nullptr)

与えられたparent で QSystemTrayIcon オブジェクトを構築します。

アイコンは最初は不可視です。

visibleも参照してください

QSystemTrayIcon::QSystemTrayIcon(const QIcon &icon, QObject *parent = nullptr)

与えられたiconparent で QSystemTrayIcon オブジェクトを構築します。

アイコンは最初は不可視です。

visibleも参照してください

[virtual noexcept] QSystemTrayIcon::~QSystemTrayIcon()

システムトレイからアイコンを削除し、割り当てられたすべてのリソースを解放します。

[signal] void QSystemTrayIcon::activated(QSystemTrayIcon::ActivationReason reason)

このシグナルは、ユーザーがシステムトレイアイコンをアクティブにしたときに発せられます。reason は、アクティブ化の理由を指定します。QSystemTrayIcon::ActivationReason は、さまざまな理由を列挙しています。

QSystemTrayIcon::ActivationReasonも参照のこと

QMenu *QSystemTrayIcon::contextMenu() const

システムトレイエントリの現在のコンテキストメニューを返す。

setContextMenu()も参照

[override virtual protected] bool QSystemTrayIcon::event(QEvent *e)

再インプリメント:QObject::event(QEvent *e).

QRect QSystemTrayIcon::geometry() const

システムトレイアイコンのジオメトリをスクリーン座標で返します。

visibleも参照してください

[slot] void QSystemTrayIcon::hide()

システムトレイエントリーを隠す。

show() およびvisibleも参照してください

[static] bool QSystemTrayIcon::isSystemTrayAvailable()

システムトレイが利用可能な場合はtrue を返し、そうでない場合はfalse を返す。

システム・トレイが現在利用できないが、後で利用できるようになる場合、QSystemTrayIcon 、システム・トレイに自動的にエントリが追加されますvisible

[signal] void QSystemTrayIcon::messageClicked()

このシグナルは、showMessage ()を使って表示されたメッセージがユーザーによってクリックされたときに発せられる。

注意: Microsoft Windowsの動作に従っているため、このシグナルは、バルーン・メッセージが表示されたトレイ・アイコンをユーザがクリックしたときにも発行されます。

activated()も参照してください

void QSystemTrayIcon::setContextMenu(QMenu *menu)

指定されたmenu をシステムトレイアイコンのコンテキストメニューに設定します。

このメニューは、ユーザーがマウスボタンをクリックしてシステムトレイアイコンのコンテキストメニューを要求したときにポップアップ表示されます。

注意: システム・トレイ・アイコンはメニューの所有権を持ちません。適切な親オブジェクトでメニューを作成するなどして、適切なタイミングで削除されるようにする必要があります。

contextMenu()も参照のこと

[slot] void QSystemTrayIcon::show()

システムトレイにアイコンを表示します。

hide() およびvisibleも参照してください

[slot] void QSystemTrayIcon::showMessage(const QString &title, const QString &message, QSystemTrayIcon::MessageIcon icon = QSystemTrayIcon::Information, int millisecondsTimeoutHint = 10000)

millisecondsTimeoutHint で指定された時間、指定されたtitlemessageicon のエントリのバルーンメッセージを表示します。titlemessage はプレーンテキスト文字列でなければなりません。

メッセージはユーザーがクリックすることができる。クリックされるとmessageClicked() シグナルが発生する。

メッセージの表示はシステム・コンフィギュレーションとユーザー・プリファレンスに依存し、メッセージがまったく表示されないこともあることに注意してください。したがって、重要な情報を提供する唯一の手段として、このシグナルに頼るべきではありません。

Windowsでは、アプリケーションにフォーカスがある場合、millisecondsTimeoutHint は通常システムによって無視されます。

Qt 5.2ではスロットになっています。

show() およびsupportsMessages()も参照してください

[slot] void QSystemTrayIcon::showMessage(const QString &title, const QString &message, const QIcon &icon, int millisecondsTimeoutHint = 10000)

この関数はshowMessage()をオーバーロードする。

指定されたtitlemessage 、およびカスタムアイコンicon を持つエントリのバルーンメッセージを、millisecondsTimeoutHint で指定された時刻に表示します。

[static] bool QSystemTrayIcon::supportsMessages()

システムトレイがバルーンメッセージをサポートしている場合はtrue を返し、そうでない場合はfalse を返す。

showMessage()も参照のこと

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