SystemTrayIcon QML Type
Une icône dans la barre d'état système. En savoir plus...
| Import Statement: | import Qt.labs.platform |
| Inherits: |
Propriétés
- 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
Signaux
- activated(ActivationReason reason)
- messageClicked()
Méthodes
- void hide()
- void show()
- void showMessage(string title, string message, MessageIcon icon, int msecs)
Description détaillée
Le type SystemTrayIcon fournit une icône pour une application dans la barre d'état système.
De nombreuses plateformes de bureau disposent d'une barre d'état système ou d'une zone de notification spécifique, où les applications peuvent afficher des icônes et des messages de notification.
![]()
L'exemple suivant montre comment créer une icône de la barre d'état système et comment utiliser le signal activated() :
SystemTrayIcon {
visible: true
icon.source: "qrc:/images/tray-icon.png"
onActivated: {
window.show()
window.raise()
window.requestActivate()
}
}Menu de la barre d'état
SystemTrayIcon peut disposer d'un menu qui s'ouvre lorsque l'icône est activée.
![]()
L’exemple suivant illustre comment attribuer une fonction « Menu » à une icône de la barre d’état :
SystemTrayIcon {
visible: true
icon.source: "qrc:/images/tray-icon.png"
menu: Menu {
MenuItem {
text: qsTr("Quit")
onTriggered: Qt.quit()
}
}
}Messages de notification
SystemTrayIcon peut afficher des messages de notification.
![]()
L'exemple suivant montre comment afficher un message de notification à l'aide de la fonction ` showMessage()` et comment utiliser le signal ` 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.")
}Disponibilité
Une icône de la barre d'état système native est actuellement disponible sur les plateformes suivantes : available
- Tous les gestionnaires de fenêtres et toutes les implémentations indépendantes de la barre d’état pour X11 qui implémentent la spécification freedesktop.org XEmbed relative à la barre d’état.
- Tous les environnements de bureau qui implémentent la spécification StatusNotifierItem de freedesktop.org pour D-Bus, y compris les versions récentes de KDE et Unity.
- Toutes les versions prises en charge de macOS. Notez que le système de notification Growl doit être installé pour qu’ showMessage() puisse afficher des messages sur OS X antérieur à la version 10.8 (Mountain Lion).
Le module Qt Labs Platform utilise Qt Widgets comme solution de repli sur les plateformes ne disposant pas d’une implémentation native. Par conséquent, les applications utilisant des types du module Qt Labs Platform doivent se lier à QtWidgets et utiliser QApplication au lieu de QGuiApplication.
Pour lier votre application à la bibliothèque QtWidgets, ajoutez ce qui suit à votre fichier de projet qmake :
QT += widgetsCréez une instance de QApplication dans 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();
}Remarque : la compatibilité des types dans les modules Qt.labs n’est pas garantie dans les versions futures.
Voir aussi Menu.
Documentation sur les propriétés
available : bool [read-only]
Cette propriété indique si la barre d'état système est disponible.
geometry : rect [since Qt.labs.platform 1.1 (Qt 5.12)]
Cette propriété contient la géométrie de l'icône de la barre d'état système.
Cette propriété a été introduite dans 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)]
Cette propriété contient l'icône de la barre d'état système.
SystemTrayIcon {
icon.mask: true
icon.source: "qrc:/images/tray-icon.png"
}Ces propriétés ont été introduites dans Qt Labs Platform 1.1 (Qt 5.12).
menu : Menu
Cette propriété définit le menu associé à l'icône de la barre d'état système.
supportsMessages : bool [read-only]
Cette propriété indique si l'icône de la barre d'état système prend en charge les messages de notification.
Voir également showMessage().
tooltip : string
Cette propriété contient l'info-bulle de l'icône de la barre d'état système.
visible : bool
Cette propriété indique si l'icône de la barre d'état système est visible.
La valeur par défaut est « false ».
Documentation Signal
activated(ActivationReason reason)
Ce signal est émis lorsque l'utilisateur active l'icône de la barre d'état système. L'argument « reason » précise comment l'icône de la barre d'état système a été activée.
Motifs disponibles :
| Constante | Description |
|---|---|
SystemTrayIcon.Unknown | Raison inconnue |
SystemTrayIcon.Context | Le menu contextuel de l'icône de la barre d'état système a été demandé |
SystemTrayIcon.DoubleClick | L'icône de la barre d'état système a fait l'objet d'un double-clic |
SystemTrayIcon.Trigger | L'icône de la barre d'état système a été cliquée |
SystemTrayIcon.MiddleClick | L'icône de la barre d'état système a été cliquée avec le bouton central de la souris |
Remarque : le gestionnaire correspondant est onActivated.
messageClicked()
Ce signal est émis lorsque l'utilisateur clique sur un message de notification.
Remarque : le gestionnaire correspondant est onMessageClicked.
Voir également showMessage().
Documentation de la méthode
void hide()
Masque l'icône de la barre d'état système.
void show()
Affiche l'icône dans la barre d'état système.
void showMessage(string title, string message, MessageIcon icon, int msecs)
Affiche un message dans la barre d’état système avec les informations indiquées dans les paramètres title, message et icon, pour la durée spécifiée dans msecs.
Remarque : les messages de la barre d'étatsystème dépendent de la configuration du système et des préférences de l'utilisateur, et peuvent ne pas s'afficher du tout. Il ne faut donc pas compter uniquement sur ce moyen pour fournir des informations critiques.
Voir également supportsMessages et messageClicked().
© 2026 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.