SystemTrayIcon QML Type

Ein Symbol für die Systemablage. Mehr...

Import Statement: import Qt.labs.platform
Inherits:

QtObject

Eigenschaften

Signale

Methoden

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

Detaillierte Beschreibung

Der Typ SystemTrayIcon stellt ein Symbol für eine Anwendung im Systemtray bereit.

Viele Desktop-Plattformen bieten einen speziellen Systemtray oder Benachrichtigungsbereich, in dem Anwendungen Symbole und Benachrichtigungen anzeigen können.

Das folgende Beispiel zeigt, wie man ein System-Tray-Icon erstellt und wie man das activated()-Signal verwendet:

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

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

Tray Menü

SystemTrayIcon kann ein Menü haben, das sich öffnet, wenn das Symbol aktiviert wird.

Das folgende Beispiel zeigt, wie man einem SystemTrayIcon ein Menu zuweisen kann:

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

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

Benachrichtigungsmeldungen

SystemTrayIcon kann Benachrichtigungsmeldungen anzeigen.

Das folgende Beispiel zeigt, wie man eine Benachrichtigung mit showMessage() anzeigt, und wie man das messageClicked() Signal verwendet:

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.")
}

Verfügbarkeit

Ein natives System Tray Icon ist derzeit available auf den folgenden Plattformen verfügbar:

Das Modul Qt Labs Platform verwendet Qt Widgets als Fallback auf Plattformen, für die keine native Implementierung verfügbar ist. Daher sollten Anwendungen, die Typen aus dem Qt Labs Platform Modul verwenden, mit QtWidgets verknüpft werden und QApplication anstelle von QGuiApplication verwenden.

Um gegen die QtWidgets-Bibliothek zu linken, fügen Sie das Folgende zu Ihrer qmake-Projektdatei hinzu:

QT += widgets

Erstellen Sie eine Instanz von QApplication in main():

#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();
}

Hinweis: Es ist nicht garantiert, dass Typen in Qt.labs-Modulen in zukünftigen Versionen kompatibel bleiben.

Siehe auch Menu.

Eigenschaft Dokumentation

available : bool [read-only]

Diese Eigenschaft gibt an, ob der Systemtray verfügbar ist.


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

Diese Eigenschaft enthält die Geometrie des Systemtray-Symbols.

Diese Eigenschaft wurde in Qt.labs.platform 1.1 (Qt 5.12) eingeführt.


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)]

Diese Eigenschaft enthält das Systemtray-Symbol.

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

Diese QML-Eigenschaft wurde in Qt.labs.platform 1.1 (Qt 5.12) eingeführt.


Diese Eigenschaft enthält ein Menü für das Systemtray-Symbol.


supportsMessages : bool [read-only]

Diese Eigenschaft gibt an, ob das Systemtray-Symbol Benachrichtigungen unterstützt.

Siehe auch showMessage().


tooltip : string

Diese Eigenschaft enthält den Tooltip des Traysymbols.


visible : bool

Diese Eigenschaft gibt an, ob das Tray-Symbol sichtbar ist.

Der Standardwert ist false.


Signal Dokumentation

activated(ActivationReason reason)

Dieses Signal wird ausgegeben, wenn das Taskleistensymbol durch den Benutzer aktiviert wird. Das Argument reason gibt an, wie das Taskleistensymbol aktiviert wurde.

Verfügbare Gründe:

KonstanteBeschreibung
SystemTrayIcon.UnknownUnbekannter Grund
SystemTrayIcon.ContextDas Kontextmenü für das Taskleistensymbol wurde angefordert
SystemTrayIcon.DoubleClickDas Taskleistensymbol wurde doppelt angeklickt
SystemTrayIcon.TriggerDas Taskleistensymbol wurde angeklickt
SystemTrayIcon.MiddleClickDas System-Tray-Symbol wurde mit der mittleren Maustaste angeklickt

Hinweis: Der entsprechende Handler ist onActivated.


messageClicked()

Dieses Signal wird ausgegeben, wenn eine Benachrichtigung durch den Benutzer angeklickt wird.

Hinweis: Der entsprechende Handler ist onMessageClicked.

Siehe auch showMessage().


Methode Dokumentation

void hide()

Blendet das Symbol der Systemablage aus.


void show()

Zeigt das Taskleistensymbol an.


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

Zeigt eine Meldung in der Taskleiste mit den angegebenen title, message und icon für die in msecs angegebene Zeit an.

Hinweis: Die Meldungen in der Taskleiste hängen von der Systemkonfiguration und den Benutzereinstellungen ab und werden möglicherweise gar nicht angezeigt. Sie sollten daher nicht als einziges Mittel zur Bereitstellung wichtiger Informationen verwendet werden.

Siehe auch supportsMessages und 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.