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() |
静的パブリックメンバ
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も参照 。
プロパティ 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)
与えられた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()も参照してください 。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。