QSystemTrayIcon Class

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

Header: #include <QSystemTrayIcon>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Inherits: 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も参照

プロパティ Documentation

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 を返します。

システム・トレイが現在利用できないが、後で利用できるようになる場合、QSystemTrayIconvisible であれば、自動的にシステム・トレイにエントリを追加する。

[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()も参照してください

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