SystemTrayIcon QML Type
Ein Symbol für die Systemablage. Mehr...
Import Statement: | import Qt.labs.platform |
Inherits: |
Eigenschaften
- available : bool
- geometry : rect
(since Qt.labs.platform 1.1 (Qt 5.12))
- icon
(since Qt.labs.platform 1.1 (Qt 5.12))
- 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))
- icon.mask : bool
- menu : Menu
- supportsMessages : bool
- tooltip : string
- visible : bool
Signale
- activated(ActivationReason reason)
- messageClicked()
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:
- Alle Fenstermanager und unabhängigen Tray-Implementierungen für X11, die die freedesktop.org XEmbed-Systemtray-Spezifikation implementieren.
- Alle Desktop-Umgebungen, die die freedesktop.org D-Bus StatusNotifierItem-Spezifikation implementieren, einschließlich aktueller Versionen von KDE und Unity.
- Alle unterstützten Versionen von macOS. Beachten Sie, dass das Growl-Benachrichtigungssystem installiert sein muss, damit showMessage() Nachrichten unter OS X vor 10.8 (Mountain Lion) anzeigt.
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 |
Diese Eigenschaft gibt an, ob der Systemtray verfügbar ist.
geometry : rect |
Diese Eigenschaft enthält die Geometrie des Systemtray-Symbols.
Diese Eigenschaft wurde in Qt.labs.platform 1.1 (Qt 5.12) eingeführt.
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.
menu : Menu |
Diese Eigenschaft enthält ein Menü für das Systemtray-Symbol.
supportsMessages : bool |
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:
Konstante | Beschreibung |
---|---|
SystemTrayIcon.Unknown | Unbekannter Grund |
SystemTrayIcon.Context | Das Kontextmenü für das Taskleistensymbol wurde angefordert |
SystemTrayIcon.DoubleClick | Das Taskleistensymbol wurde doppelt angeklickt |
SystemTrayIcon.Trigger | Das Taskleistensymbol wurde angeklickt |
SystemTrayIcon.MiddleClick | Das 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.
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.