wxPython - wxPython
Desarrollador (es) | Robin Dunn Harri Pasanen |
---|---|
Versión inicial | 1998 |
Lanzamiento estable | 4.1.1 / 21 de noviembre de 2020
|
Repositorio | |
Escrito en | C ++ / Python |
Sistema operativo | Multiplataforma |
Licencia | Licencia wxWindows |
Sitio web | wxpython |
wxPython es un contenedor para la API 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 ).
Licencia
Al ser un contenedor, wxPython utiliza la misma licencia de software libre utilizada por wxWidgets ( licencia de wxWindows ), 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.
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 python3
import wx
app = wx.App(False) # Create a new app, don't redirect stdout/stderr to a window.
frame = wx.Frame(None, title="Hello World") # A Frame is a top-level window.
frame.Show(True) # Show the frame.
app.MainLoop()
Este es otro ejemplo de wxPython Close Button con wxPython GUI display show en el sistema operativo Windows 10.
import wx
class WxButton(wx.Frame):
def __init__(self, *args, **kw):
super(WxButton, self).__init__(*args, **kw)
self.InitUI()
def InitUI(self):
pnl = wx.Panel(self)
closeButton = wx.Button(pnl, label='Close Me', pos=(20, 20))
closeButton.Bind(wx.EVT_BUTTON, self.OnClose)
self.SetSize((350, 250))
self.SetTitle('Close Button')
self.Centre()
def OnClose(self, e):
self.Close(True)
def main():
app = wx.App()
ex = WxButton(None)
ex.Show()
app.MainLoop()
if __name__ == "__main__":
main()
Proyecto Phoenix
El Proyecto Phoenix, que comenzó en 2010, es un esfuerzo para limpiar la implementación de wxPython y en el proceso hacerlo compatible con Python 3. Este proyecto es una nueva implementación de wxPython, enfocado en mejorar la velocidad, la capacidad de mantenimiento y la 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.
Aplicaciones desarrolladas con wxPython
- Chandler , un administrador de información personal
- Dropbox , cliente de escritorio para el almacenamiento basado en la nube de Dropbox
- Editra , un editor de texto multiplataforma
- Google Drive , cliente de escritorio para el sistema de almacenamiento basado en la nube de Google
- 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
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