wxPython es un contenedor para la API de GUI multiplataforma (a menudo denominada " kit de herramientas ") wxWidgets (que está escrito en C ++ ) para el lenguaje de programación Python . Es una de las alternativas a Tkinter . Está implementado como un módulo de extensión de Python ( código nativo ).
Desarrollador (es) | Robin Dunn Harri Pasanen |
---|---|
Versión inicial | 1998 [1] |
Lanzamiento estable | 4.1.1 [2] / 21 de noviembre de 2020 |
Repositorio | |
Escrito en | C ++ / Python |
Sistema operativo | Multiplataforma |
Licencia | Licencia wxWindows |
Sitio web | wxpython |
Licencia
Al ser un contenedor, wxPython utiliza la misma licencia de software libre utilizada por wxWidgets ( licencia wxWindows ) [3], que está aprobada por la Free Software Foundation y la Open Source Initiative .
Historia
wxPython se creó cuando Robin Dunn necesitaba implementar una GUI en sistemas HP-UX y también en Windows 3.1 en unas pocas semanas. Mientras evaluaba soluciones comerciales, encontró enlaces de Python para el kit de herramientas wxWidgets. Así, aprendió Python y, en poco tiempo, junto con Harri Pasanen , se convirtió en uno de los principales desarrolladores de wxPython, que surgió a partir de esos enlaces iniciales.
Las primeras versiones del contenedor se crearon a mano. Sin embargo, pronto el código base se volvió muy difícil de mantener y sincronizar con las versiones de wxWidgets. Las versiones posteriores se crearon con SWIG , lo que redujo en gran medida la cantidad de trabajo para actualizar el contenedor. La primera versión "moderna" se anunció en 1998. [1]
Ejemplo
Este es un módulo simple " Hola mundo ", que muestra la creación de los dos objetos principales en wxPython (el objeto de la ventana principal y el objeto de la aplicación), seguido de pasar el control al sistema controlado por eventos (llamando MainLoop()
) que administra al usuario -parte interactiva del programa.
#! / usr / bin / env python3importar wxaplicación = wx . Aplicación ( Falso ) # Cree una nueva aplicación, no redirija stdout / stderr a una ventana. marco = wx . Marco ( Ninguno , título = "Hola mundo" ) # Un marco es una ventana de nivel superior. marco . Show ( True ) # Muestra el marco. aplicación . MainLoop ()
Este es otro ejemplo de wxPython Close Button con wxPython GUI display show en el sistema operativo Windows 10.
importar wxclase WxButton ( wx . Frame ): def __init__ ( self , * args , ** kw ): super ( WxButton , self ) . __init__ ( * args , ** kw ) self . InitUI () def InitUI ( propio ): pnl = wx . Panel ( auto ) closeButton = wx . Botón ( pnl , label = ' Cerrarme ' , pos = ( 20 , 20 )) closeButton . Enlazar ( wx . EVT_BUTTON , self . OnClose ) yo . SetSize (( 350 , 250 )) self . SetTitle ( 'Botón de cierre' ) self . Centro () def OnClose ( self , e ): self . Cerrar ( verdadero )def main (): aplicación = wx . App () ex = WxButton ( Ninguno ) ex . Mostrar aplicación () . MainLoop ()if __name__ == "__main__" : main ()
Proyecto Phoenix
Project Phoenix, que comenzó en 2010, es un esfuerzo para limpiar la implementación de wxPython y en el proceso hacerlo compatible con Python 3. [4] Este proyecto es una nueva implementación de wxPython, enfocado en mejorar la velocidad, mantenibilidad y extensibilidad. Al igual que "Classic" wxPython, envuelve el kit de herramientas wxWidgets C ++ y proporciona acceso a las partes de la interfaz de usuario de la API wx, lo que permite que las aplicaciones Python tengan una interfaz gráfica de usuario en sistemas Windows, Mac o Unix con una apariencia nativa y que requieren muy poco código específico de la plataforma, si es que lo hay. [5]
Aplicaciones desarrolladas con wxPython
- BitTorrent , una aplicación de BitTorrent de igual a igual
- Chandler , un administrador de información personal
- Editra , un editor de texto multiplataforma
- Google Drive , cliente de escritorio para el sistema de almacenamiento basado en la nube de Google [6]
- GRASS GIS , un sistema de información geográfica de código abierto y gratuito
- Métamorphose , un renombrador de lotes
- Phatch , un procesador de fotos por lotes
- PlayOnLinux y PlayOnMac , vino frontales
- PsychoPy , herramienta de creación de experimentos para la investigación en neurociencia y psicología
Referencias
Citas
- ^ a b "Anuncio de wxPython 0.3 en Grupos de Yahoo" . Consultado el 16 de enero de 2007 .
- ^ "Registro de cambios de wxPython" . wxPython . 2020-11-21 . Consultado el 18 de febrero de 2021 .
- ^ "Aviso de derechos de autor" . Consultado el 27 de febrero de 2009 .
- ^ "Objetivos del Proyecto Phoenix" . Consultado el 17 de marzo de 2016 .
- ^ "Archivo Léame del Proyecto Phoenix en GitHub" . Consultado el 1 de enero de 2014 .
- ^ "Componentes y licencias de código abierto" . Google . Consultado el 28 de enero de 2013 .
Fuentes
- Rappin, Noel; Dunn, Robin (1 de marzo de 2006). wxPython en acción . Greenwich: Publicaciones Manning . pag. 552. ISBN 978-1-932394-62-7.
Otras lecturas
- Precord, Cody (diciembre de 2010). Libro de cocina de desarrollo de aplicaciones wxPython 2.8 . Greenwich: Packt Publishing . pag. 308. ISBN 978-1-84951-178-0.
enlaces externos
- Página web oficial
- Página principal de Project Phoenix
- Lista de aplicaciones desarrolladas con wxPython
- Tutoriales de screencasts para iniciar la programación de wxPython en showmedo