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() |
静的パブリックメンバ
bool | isSystemTrayAvailable() |
bool | supportsMessages() |
再実装された保護された関数
virtual bool | event(QEvent *e) override |
詳しい説明
最近のオペレーティングシステムは、通常、システムトレイまたは通知領域と呼ばれるデスクトップ上の特別な領域を提供し、長時間実行されるアプリケーションは、アイコンや短いメッセージを表示することができます。
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::Unknown | 0 | 不明な理由 |
QSystemTrayIcon::Context | 1 | システムトレイエントリのコンテキストメニューが要求された。 |
QSystemTrayIcon::DoubleClick | 2 | システムトレイエントリがダブルクリックされた。 |
注意: macOS では、ダブルクリックはコンテキストメニューが設定されていない場合にのみ発生します。
定数 | 値 | 説明 |
---|---|---|
QSystemTrayIcon::Trigger | 3 | システムトレイエントリがクリックされた |
QSystemTrayIcon::MiddleClick | 4 | システムトレイエントリがマウスの中ボタンでクリックされた。 |
activated()も参照 。
enum QSystemTrayIcon::MessageIcon
この列挙型は、バルーンメッセージが表示されるときに表示されるアイコンを記述します。
定数 | 値 | 説明 |
---|---|---|
QSystemTrayIcon::NoIcon | 0 | アイコンは表示されない。 |
QSystemTrayIcon::Information | 1 | 情報アイコンが表示される。 |
QSystemTrayIcon::Warning | 2 | 標準警告アイコン |
QSystemTrayIcon::Critical | 3 | 重要な警告アイコンが表示される。 |
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)
与えられたicon とparent で 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()
システムトレイエントリーを隠す。
[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()
システムトレイにアイコンを表示します。
[slot]
void QSystemTrayIcon::showMessage(const QString &title, const QString &message, QSystemTrayIcon::MessageIcon icon = QSystemTrayIcon::Information, int millisecondsTimeoutHint = 10000)
millisecondsTimeoutHint で指定された時間、指定されたtitle 、message 、icon のエントリのバルーンメッセージを表示します。title とmessage はプレーンテキスト文字列でなければなりません。
メッセージはユーザーがクリックすることができる。クリックされると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()をオーバーロードする。
指定されたtitle 、message 、およびカスタムアイコン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.