Pregunta

Windows tiene la " bandeja del sistema " que alberga el reloj y los servicios que siempre se ejecutan como MSN, Steam, etc.

Me gustaría desarrollar una aplicación de bandeja de wxPython, pero me pregunto qué tan bien se adaptará a otras plataformas. ¿Cuál es el equivalente de la bandeja en cada plataforma y la cantidad de trabajo manual que se necesitaría para admitir Windows, OSX y Linux (lo que en particular sería más amigable)?

¿Fue útil?

Solución

wx es una biblioteca de herramientas y GUI multiplataforma que admite Win32, Mac OS X, GTK +, X11, Motif, WinCE y más. Y si utiliza sus clases, su aplicación debería funcionar en todas estas plataformas. Para obtener información sobre la bandeja del sistema, consulte wxTaskBarIcon ( http://docs.wxwidgets.org/stable/wx_wxtasbaricicon html # wxtaskbaricon ).

Otros consejos

Bajo OS X, tiene la barra de menú de estado: los elementos más a la derecha a menudo están relacionados con el estado (como el estado de la batería, las conexiones WiFi, etc.).

Intente buscar NSStatusBar y NSMenuExtra . Es casi trivial convertir una aplicación en una que tiene un menú de Barra de estado NS y no aparece en el Dock. Hay tutoriales around sobre cómo hacerlo.

Para muchos sistemas de escritorio Linux (Gnome, KDE, etc.) un SysTray Protocol está implementado. Puedes intentarlo si falla alguna otra solución.

En Linux, realmente depende: hay diferentes entornos de programación allí, y algunos administradores de ventanas ni siquiera tienen un área de bandeja. Aunque, si usas Gtk (y wx es Gtk realmente), gtk.StatusIcon es tu amigo.

Aquí hay algunos ejemplos de eso (no he revisado si realmente funcionan, pero deberían mostrarte la ruta).

Para wx encontré un código de ejemplo aquí .

Use Qt: Qt Systray Example

Eso mostrará un icono de la bandeja del sistema en todas las plataformas en las que se ejecuta Qt y es compatible con dichos iconos. Sin embargo, tendrás que idear una estrategia cuando no se admita la funcionalidad de la bandeja del sistema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top