SystemTrayIcon QML Type

システムトレイアイコン。もっと見る...

Import Statement: import Qt.labs.platform
Inherits:

QtObject

プロパティ

信号

方法

  • void hide()
  • void show()
  • void showMessage(string title, string message, MessageIcon icon, int msecs)

詳細説明

SystemTrayIcon型は、システムトレイにあるアプリケーションのアイコンを提供します。

多くのデスクトップ・プラットフォームは、特別なシステム・トレイまたは通知領域を提供し、アプリケーションはそこにアイコンと通知メッセージを表示することができます。

次の例では、システムトレイアイコンを作成する方法と、activated() シグナルを使用する方法を示します:

SystemTrayIcon {
    visible: true
    icon.source: "qrc:/images/tray-icon.png"

    onActivated: {
        window.show()
        window.raise()
        window.requestActivate()
    }
}

トレイメニュー

SystemTrayIcon は、アイコンがアクティブになったときに開くメニューを持つことができます。

次の例は、システムトレイアイコンにMenu を割り当てる方法を示しています:

SystemTrayIcon {
    visible: true
    icon.source: "qrc:/images/tray-icon.png"

    menu: Menu {
        MenuItem {
            text: qsTr("Quit")
            onTriggered: Qt.quit()
        }
    }
}

通知メッセージ

SystemTrayIcon は、通知メッセージを表示することができます。

次の例では、showMessage ()を使用して通知メッセージを表示する方法と、messageClicked ()シグナルを利用する方法を紹介します:

SystemTrayIcon {
    visible: true
    icon.source: "qrc:/images/tray-icon.png"

    onMessageClicked: console.log("Message clicked")
    Component.onCompleted: showMessage("Message title", "Something important came up. Click this to know more.")
}

可用性

ネイティブのシステムトレイアイコンは、現在以下のプラットフォームでavailable です:

  • freedesktop.org XEmbed システムトレイ仕様を実装しているすべてのウィンドウマネージャと X11 用の独立トレイ実装。
  • freedesktop.org D-Bus StatusNotifierItem 仕様を実装しているすべてのデスクトップ環境 (KDE と Unity の最近のバージョンを含む)。
  • サポートされているすべてのバージョンの macOS。10.8 (Mountain Lion) 以前の OS X でshowMessage() がメッセージを表示するには Growl 通知システムがインストールされていなければならないことに注意してください。

Qt Labs Platform モジュールは、ネイティブ実装が利用できないプラットフォームでのフォールバックとしてQt Widgets を使用します。したがって、Qt Labs Platform モジュールの型を使用するアプリケーションは、QtWidgets にリンクし、QGuiApplication の代わりにQApplication を使用する必要があります。

QtWidgets ライブラリにリンクするには、qmake プロジェクトファイルに以下を追加します:

QT += widgets

main()QApplication のインスタンスを作成します:

#include <QApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    return app.exec();
}

注意: Qt.labs モジュールの型は、将来のバージョンでも互換性が保たれることを保証するものではありません。

Menuも参照してください

プロパティ Documentation

available : bool [read-only]

このプロパティは、システムトレイが利用可能かどうかを保持します。


geometry : rect [since Qt.labs.platform 1.1 (Qt 5.12)]

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

このプロパティは Qt.labs.platform 1.1 (Qt 5.12) で導入されました。


icon group

icon.mask : bool [since Qt.labs.platform 1.1 (Qt 5.12)]

icon.name : string [since Qt.labs.platform 1.1 (Qt 5.12)]

icon.source : url [since Qt.labs.platform 1.1 (Qt 5.12)]

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

SystemTrayIcon {
    icon.mask: true
    icon.source: "qrc:/images/tray-icon.png"
}

この QML プロパティは、Qt.labs.platform 1.1 (Qt 5.12) で導入されました。


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


supportsMessages : bool [read-only]

このプロパティは、システムトレイアイコンが通知メッセージをサポートしているかどうかを保持します。

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


tooltip : string

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


visible : bool

このプロパティは、システム・トレイ・アイコンを表示するかどうかを保持します。

デフォルト値はfalse です。


シグナル・ドキュメント

activated(ActivationReason reason)

このシグナルは、ユーザによってシステム・トレイ・アイコンがアクティブにされたときに発せられる。reason 引数は、システム・トレイ・アイコンがどのようにアクティベートされたかを指定する。

利用可能な理由

定数説明
SystemTrayIcon.Unknown不明な理由
SystemTrayIcon.Contextシステムトレイアイコンのコンテキストメニューが要求された。
SystemTrayIcon.DoubleClickシステムトレイアイコンがダブルクリックされた
SystemTrayIcon.Triggerシステムトレイアイコンがクリックされた
SystemTrayIcon.MiddleClickシステムトレイアイコンがマウスの中ボタンでクリックされた

注: 対応するハンドラはonActivated です。


messageClicked()

このシグナルは、通知メッセージがユーザーによってクリックされたときに発行されます。

: 対応するハンドラはonMessageClicked です。

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


メソッド・ドキュメント

void hide()

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


void show()

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


void showMessage(string title, string message, MessageIcon icon, int msecs)

msecs で指定された時間、指定されたtitlemessageicon のシステム・トレイ・メッセージを表示する。

注意: システム・トレイ・メッセージは、システム構成とユーザー設定に依存し、まったく表示されないこともある。そのため、重要な情報を提供する唯一の手段として、このメッセージに頼るべきではありません。

supportsMessages およびmessageClicked()も参照のこと


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