En esta página

SystemTrayIcon QML Type

Un icono de la bandeja del sistema. Más...

Import Statement: import Qt.labs.platform
Inherits:

QtObject

Propiedades

Señales

Métodos

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

Descripción detallada

El tipo SystemTrayIcon proporciona un icono para una aplicación en la bandeja del sistema.

Muchas plataformas de escritorio proporcionan una bandeja del sistema especial o área de notificación, donde las aplicaciones pueden mostrar iconos y mensajes de notificación.

Icono de la bandeja del sistema

El siguiente ejemplo muestra cómo crear un icono de bandeja del sistema y cómo hacer uso de la señal activated():

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

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

Menú de bandeja

SystemTrayIcon puede tener un menú que se abre cuando se activa el icono.

Icono de la bandeja del sistema con menú

El siguiente ejemplo muestra cómo asignar un Menu a un icono de la bandeja del sistema:

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

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

Mensajes de notificación

SystemTrayIcon puede mostrar mensajes de notificación.

Mensaje emergente en el icono de la bandeja del sistema

El siguiente ejemplo presenta cómo mostrar un mensaje de notificación utilizando showMessage(), y cómo hacer uso de la señal 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.")
}

Disponibilidad

Un icono nativo de la bandeja del sistema es actualmente available en las siguientes plataformas:

El módulo Qt Labs Platform utiliza Qt Widgets como alternativa en plataformas que no disponen de una implementación nativa. Por lo tanto, las aplicaciones que utilicen tipos del módulo Qt Labs Platform deben enlazar con QtWidgets y utilizar QApplication en lugar de QGuiApplication.

Para enlazar con la biblioteca QtWidgets, añada lo siguiente al archivo de proyecto qmake:

QT += widgets

Crear una instancia de QApplication en 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();
}

Nota: No se garantiza que los tipos de los módulos Qt.labs sigan siendo compatibles en futuras versiones.

Véase también Menu.

Documentación de propiedades

available : bool [read-only]

Esta propiedad indica si la bandeja del sistema está disponible.

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

Esta propiedad contiene la geometría del icono de la bandeja del sistema.

Esta propiedad se introdujo en 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)]

Esta propiedad contiene el icono de la bandeja del sistema.

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

Estas propiedades se introdujeron en Qt.labs.platform 1.1 (Qt 5.12).

Esta propiedad contiene un menú para el icono de la bandeja del sistema.

supportsMessages : bool [read-only]

Esta propiedad indica si el icono de la bandeja del sistema admite mensajes de notificación.

Véase también showMessage().

tooltip : string

Esta propiedad contiene el tooltip del icono de la bandeja del sistema.

visible : bool

Esta propiedad indica si el icono de la bandeja del sistema es visible.

El valor por defecto es false.

Documentación sobre señales

activated(ActivationReason reason)

Esta señal se emite cuando el icono de la bandeja del sistema es activado por el usuario. El argumento reason especifica cómo se activó el icono de la bandeja del sistema.

Motivos disponibles:

ConstanteDescripción
SystemTrayIcon.UnknownRazón desconocida
SystemTrayIcon.ContextSe solicitó el menú contextual del icono de la bandeja del sistema
SystemTrayIcon.DoubleClickSe ha hecho doble clic en el icono de la bandeja del sistema
SystemTrayIcon.TriggerSe ha hecho clic en el icono de la bandeja del sistema
SystemTrayIcon.MiddleClickSe ha hecho clic en el icono de la bandeja del sistema con el botón central del ratón

Nota: El manejador correspondiente es onActivated.

messageClicked()

Esta señal se emite cuando el usuario hace clic en un mensaje de notificación.

Nota: El manejador correspondiente es onMessageClicked.

Véase también showMessage().

Documentación del método

void hide()

Oculta el icono de la bandeja del sistema.

void show()

Muestra el icono de la bandeja del sistema.

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

Muestra un mensaje en la bandeja del sistema con los datos title, message y icon durante el tiempo especificado en msecs.

Nota: Los mensajes de la bandeja del sistema dependen de la configuración del sistema y de las preferencias del usuario, y es posible que no aparezcan en absoluto. Por lo tanto, no debe confiarse en ella como único medio para proporcionar información crítica.

Véase también supportsMessages y 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.