SystemTrayIcon QML Type
Un icono de la bandeja del sistema. Más...
| Import Statement: | import Qt.labs.platform |
| Inherits: |
Propiedades
- 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
Señales
- activated(ActivationReason reason)
- messageClicked()
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.
![]()
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.
![]()
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.
![]()
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:
- Todos los gestores de ventanas e implementaciones de bandeja independientes para X11 que implementen la especificación de bandeja de sistema XEmbed de freedesktop.org.
- Todos los entornos de escritorio que implementen la especificación D-Bus StatusNotifierItem de freedesktop.org, incluidas las versiones recientes de KDE y Unity.
- Todas las versiones compatibles de macOS. Tenga en cuenta que el sistema de notificaciones Growl debe estar instalado para que showMessage() muestre mensajes en OS X anterior a 10.8 (Mountain Lion).
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).
menu : Menu
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:
| Constante | Descripción |
|---|---|
SystemTrayIcon.Unknown | Razón desconocida |
SystemTrayIcon.Context | Se solicitó el menú contextual del icono de la bandeja del sistema |
SystemTrayIcon.DoubleClick | Se ha hecho doble clic en el icono de la bandeja del sistema |
SystemTrayIcon.Trigger | Se ha hecho clic en el icono de la bandeja del sistema |
SystemTrayIcon.MiddleClick | Se 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.