Programación de Aplicaciones con wxPython en Python

Tutorial y Artículo sobre Programación de Aplicaciones con wxPython en Python

Introducción

wxPython es una biblioteca de interfaz gráfica de usuario (GUI) para Python que se basa en la biblioteca wxWidgets. Es una biblioteca de código abierto, multiplataforma y madura que permite a los desarrolladores crear aplicaciones GUI de alta calidad para Windows, macOS y Linux.

En este tutorial, aprenderemos a crear aplicaciones GUI básicas con wxPython. CubrIremos los siguientes temas:

  • Cómo instalar wxPython
  • Cómo crear una ventana básica
  • Cómo agregar controles a una ventana
  • Cómo responder a los eventos del usuario

Instalación de wxPython

Para instalar wxPython, podemos usar el administrador de paquetes de nuestra distribución de Linux o macOS. En Windows, podemos descargar el instalador desde el sitio web de wxPython.

Una vez que wxPython esté instalado, podemos importarlo en nuestros programas usando el siguiente código:

Python
import wx

Creación de una ventana básica

Para crear una ventana básica, usamos el siguiente código:

Python
app = wx.App()

frame = wx.Frame(None, title="Mi primera ventana")
frame.Show()

app.MainLoop()

Este código creará una ventana con el título «Mi primera ventana». La ventana se mostrará en la pantalla y permanecerá abierta hasta que el usuario la cierre.

Agregar controles a una ventana

Podemos agregar controles a una ventana usando los métodos Add() y Create(). Por ejemplo, para agregar un botón a una ventana, usamos el siguiente código:

Python
button = wx.Button(frame, label="Aceptar")
frame.Add(button)

Este código agregará un botón con el texto «Aceptar» a la ventana. El botón se colocará en el centro de la ventana.

Responder a los eventos del usuario

Podemos responder a los eventos del usuario usando los métodos Bind() y On(). Por ejemplo, para responder al evento de clic del botón «Aceptar», usamos el siguiente código:

Python
def OnAceptar(event):
    print("El botón Aceptar se ha pulsado")

button.Bind(wx.EVT_BUTTON, OnAceptar)

Este código imprimirá el mensaje «El botón Aceptar se ha pulsado» en la consola cuando el usuario haga clic en el botón.

Ejemplo de aplicación

A continuación se muestra un ejemplo de aplicación que muestra un cuadro de diálogo con un campo de texto y un botón:

Python
import wx

class Dialog(wx.Dialog):
    def __init__(self, parent):
        super().__init__(parent, title="Mi primer cuadro de diálogo")

        self.texto = wx.TextCtrl(self, size=(200, -1))
        self.boton = wx.Button(self, label="Aceptar")

        self.boton.Bind(wx.EVT_BUTTON, self.OnAceptar)

        self.sizer = wx.BoxSizer(wx.VERTICAL)
        self.sizer.Add(self.texto, 1, wx.EXPAND)
        self.sizer.Add(self.boton, 0, wx.ALIGN_RIGHT)

        self.SetSizer(self.sizer)

    def OnAceptar(self, event):
        print(self.texto.GetValue())

app = wx.App()

dialog = Dialog(None)
dialog.Show()

app.MainLoop()

Este código creará un cuadro de diálogo con un campo de texto y un botón. Cuando el usuario haga clic en el botón, el texto del campo de texto se imprimirá en la consola.

Conclusión

En este tutorial, aprendimos a crear aplicaciones GUI básicas con wxPython. CubrImos los siguientes temas:

  • Cómo instalar wxPython
  • Cómo crear una ventana básica
  • Cómo agregar controles a una ventana
  • Cómo responder a los eventos del usuario

Para obtener más información sobre wxPython, podemos consultar la documentación oficial o los numerosos tutoriales y libros disponibles en línea.