Articulo de referencia

wxPython

wxPython es un contenedor para la API de interfaz gráfica de usuario multiplataforma (a menudo denominada " kit de herramientas ") wxWidgets (escrita en C++ ) para el lenguaje d...

wxPython es un contenedor para la API de interfaz gráfica de usuario multiplataforma (a menudo denominada " kit de herramientas ") wxWidgets (escrita en C++ ) para el lenguaje de programación Python . Es una de las alternativas a Tkinter . Se implementa como un módulo de extensión de Python ( código nativo ).

Historia

En 1995, Robin Dunn necesitaba una aplicación GUI que se pudiera implementar en sistemas HP-UX y que también pudiera ejecutar Windows 3.1 en un corto período de tiempo. Necesitaba una solución multiplataforma . Mientras evaluaba soluciones gratuitas y comerciales, se encontró con enlaces de Python en la página web del kit de herramientas wxWidgets (conocido como wxWindows en ese momento). Esta fue la introducción de Dunn a Python. Junto con Harri Pasanen y Edward Zimmerman, desarrolló esos enlaces iniciales en wxPython 0.2. [2]

En agosto de 1998 se publicó la versión 0.3 de wxPython. Fue creada para wxWidgets 2.0 y funcionaba en Win32, con una versión wxGTK en desarrollo. [3]

Las primeras versiones del contenedor se crearon a mano. Sin embargo, el código se volvió difícil de mantener y de mantener sincronizado con las versiones de wxWidgets. En 1997, se crearon versiones con SWIG , lo que redujo en gran medida la cantidad de trabajo para actualizar el contenedor. [2]

Proyecto Fénix

En 2010, comenzó el Proyecto Phoenix, un esfuerzo por limpiar la implementación de wxPython y, en el proceso, hacerla compatible con Python 3. [4] El proyecto es una nueva implementación de wxPython, enfocada en mejorar la velocidad, la capacidad de mantenimiento y la extensibilidad. Al igual que la versión anterior de wxPython, envuelve el kit de herramientas C++ de wxWidgets y brinda acceso a las partes de la interfaz de usuario de la API de wxWidgets . [5]

Con el lanzamiento de 4.0.0a1 wxPython en 2017, la versión de Project Phoenix se convirtió en la versión oficial. [6] wxPython 4.x es la versión actual que se está desarrollando a partir de junio de 2022. [7]

Usar

wxPython permite utilizar Python para aplicaciones GUI multiplataforma que requieren muy poco o ningún código específico de la plataforma.

Ejemplo

Este es un módulo simple " Hola mundo ", que representa la creación de los dos objetos principales en wxPython (el objeto de la ventana principal y el objeto de la aplicación), seguido del paso del control al sistema controlado por eventos (mediante una llamada MainLoop()) que administra la parte interactiva del usuario del programa.

#!/usr/bin/env python3

importar  wx

app  =  wx . App ( False )   # Crea una nueva aplicación, no redirige stdout/stderr a una ventana. 
frame  =  wx . Frame ( None ,  title = "Hello World" )  # Un Frame es una ventana de nivel superior. 
frame . Show ( True )      # Muestra el frame. 
app . MainLoop ()

Este es otro ejemplo del botón Cerrar de wxPython con la GUI de wxPython mostrada en el sistema operativo Windows 10.

Botón de cierre con wxPython mostrado en Windows 10
importar  wx

clase  WxButton ( wx.Frame ) :

    def  __init__ ( self ,  * argumentos ,  ** número ) : 
        super ( WxButton ,  self ) .__ init __ ( * argumentos ,  ** número ) 
        self.InitUI ()

    def  InitUI ( self ) : 
        pnl  =  wx.Panel ( self ) botonCerrar = wx.Boton ( pnl , etiqueta = ' Cerrarme ' , pos = ( 20 , 20 ) )
             

        cerrarBoton .Bind ( wx.EVT_BUTTON , self.OnClose ) 

        self.SetSize ( ( 350 , 250 ) ) self.SetTitle ( ' Botón Cerrar ' ) self.Centre ( ) 
        
        

    def  OnClose ( self ,  e ) 
        : self.Close ( Verdadero )

def  main ( ) : 
    aplicación  =  wx.App ( ) ex = WxButton ( Ninguno ) ex.Show ( ) aplicación.MainLoop ( )
      
    
    

si  __nombre__  ==  "__principal__" : 
    principal ()

Licencia

Al ser un contenedor, wxPython utiliza la misma licencia de software libre utilizada por wxWidgets ( licencia wxWindows ) [8] —la cual está aprobada por la Free Software Foundation y la Open Source Initiative .

Aplicaciones desarrolladas con wxPython

Referencias

Citas

  1. ^ "Registro de cambios de wxPython". wxPython . 2024-09-11 . Consultado el 2024-11-28 .
  2. ^ Equipo ab , The wxPython (14 de julio de 2017). «Historia de wxPython». wxPython . Consultado el 25 de junio de 2022 .
  3. ^ "Grupos de Yahoo!: mensajes de python-announce-list: mensaje 95 de 1083". 12 de marzo de 2001. Archivado desde el original el 12 de marzo de 2001. Consultado el 25 de junio de 2022 .
  4. ^ "Objetivos del Proyecto Fénix" . Consultado el 17 de marzo de 2016 .
  5. ^ "Archivo readme del proyecto Phoenix en GitHub". GitHub . Consultado el 1 de enero de 2014 .
  6. ^ Robin (16 de abril de 2017). «Lanzamiento de wxPython 4.0.0a1». wxPython . Consultado el 25 de junio de 2022 .
  7. ^ Equipo, The wxPython (21 de noviembre de 2020). «wxPython 4.1.1 lanzado». wxPython . Consultado el 25 de junio de 2022 .
  8. ^ "Aviso de copyright". Archivado desde el original el 16 de febrero de 2009. Consultado el 27 de febrero de 2009 .
  9. ^ "6 lecciones de Dropbox: un millón de archivos guardados cada 15 minutos". 14 de marzo de 2011.
  10. ^ "Componentes y licencias de código abierto". Google Inc. Consultado el 28 de enero de 2013 .

Fuentes

  • Rappin, Noel; Dunn, Robin (1 de marzo de 2006). wxPython en acción . Greenwich: Manning Publications . pág. 552. ISBN. 978-1-932394-62-7.

Lectura adicional

  • Precord, Cody (diciembre de 2010). wxPython 2.8 Application Development Cookbook . Greenwich: Packt Publishing . pág. 308. ISBN. 978-1-84951-178-0.
  • Sitio web oficial
  • Serie de tutoriales sobre widgets de wxPython
  • Página principal del Proyecto Phoenix
  • Lista de aplicaciones desarrolladas con wxPython
Obtenido de "https://es.wikipedia.org/w/index.php?title=WxPython&oldid=1260032206"