Sur cette page

SystemTrayIcon QML Type

Une icône dans la barre d'état système. En savoir plus...

Import Statement: import Qt.labs.platform
Inherits:

QtObject

Propriétés

Signaux

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.

Icône de la barre d'état système

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.

Icône dans la barre d'état système avec menu

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.

Fenêtre contextuelle d'icône de la barre d'état système

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

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 += widgets

Cré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).

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 :

ConstanteDescription
SystemTrayIcon.UnknownRaison inconnue
SystemTrayIcon.ContextLe menu contextuel de l'icône de la barre d'état système a été demandé
SystemTrayIcon.DoubleClickL'icône de la barre d'état système a fait l'objet d'un double-clic
SystemTrayIcon.TriggerL'icône de la barre d'état système a été cliquée
SystemTrayIcon.MiddleClickL'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.