Desarrollo de aplicaciones con wxPython en Python 3.10: Creación de interfaces gráficas.

Desarrollo de aplicaciones con wxPython en Python 3.10: Creación de interfaces gráficas

wxPython es un framework de interfaz gráfica de usuario (GUI) para Python que proporciona una amplia gama de widgets y herramientas para crear aplicaciones de escritorio. Es multiplataforma, lo que significa que las aplicaciones creadas con wxPython se pueden ejecutar en Windows, macOS y Linux.

En este tutorial, aprenderemos a crear una interfaz gráfica básica con wxPython en Python 3.10.

Instalación

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

Una vez instalado wxPython, podemos importarlo en nuestro código de Python:

Python
import wx

Creación de una ventana

El primer paso para crear una interfaz gráfica con wxPython es crear una ventana. Podemos hacer esto usando la clase wx.Frame:

Python
class MyFrame(wx.Frame):
    def __init__(self, parent):
        super().__init__(parent, title="My Application")

        # Centramos la ventana en la pantalla
        self.Centre()

        # Mostramos la ventana
        self.Show()

app = wx.App()
frame = MyFrame(None)
app.MainLoop()

Este código creará una ventana con el título «My Application». La ventana se centrará en la pantalla y se mostrará.

Añadiendo widgets

Una vez que tenemos una ventana, podemos empezar a añadir widgets a ella. Los widgets son elementos de la interfaz gráfica de usuario, como botones, etiquetas, cuadros de texto, etc.

Para añadir un widget a una ventana, podemos usar el método Add():

Python
class MyFrame(wx.Frame):
    def __init__(self, parent):
        super().__init__(parent, title="My Application")

        # Centramos la ventana en la pantalla
        self.Centre()

        # Añadimos un botón a la ventana
        button = wx.Button(self, label="Click me")
        button.Bind(wx.EVT_BUTTON, self.OnButtonClick)

        # Mostramos la ventana
        self.Show()

    def OnButtonClick(self, event):
        # Hacemos algo cuando se hace clic en el botón
        print("El botón se ha pulsado")

app = wx.App()
frame = MyFrame(None)
app.MainLoop()

Este código añadirá un botón a la ventana con el texto «Click me». Cuando se haga clic en el botón, se imprimirá el mensaje «El botón se ha pulsado» en la consola.

Ejemplo completo

Aquí hay un ejemplo completo de una interfaz gráfica básica con wxPython:

Python
import wx

class MyFrame(wx.Frame):
    def __init__(self, parent):
        super().__init__(parent, title="My Application")

        # Centramos la ventana en la pantalla
        self.Centre()

        # Añadimos una etiqueta a la ventana
        label = wx.StaticText(self, label="Hola, mundo!")

        # Añadimos un cuadro de texto a la ventana
        text_box = wx.TextCtrl(self, size=(200, 20))

        # Añadimos un botón a la ventana
        button = wx.Button(self, label="Aceptar")
        button.Bind(wx.EVT_BUTTON, self.OnButtonClick)

        # Organizamos los widgets en la ventana
        layout = wx.BoxSizer(wx.VERTICAL)
        layout.Add(label, 0, wx.ALL, 5)
        layout.Add(text_box, 0, wx.ALL, 5)
        layout.Add(button, 0, wx.ALL, 5)
        self.SetSizer(layout)

    def OnButtonClick(self, event):
        # Hacemos algo cuando se hace clic en el botón
        print(text_box.GetValue())

app = wx.App()
frame = MyFrame(None)
app.MainLoop()

Este código creará una ventana con una etiqueta, un cuadro de texto y un botón. Cuando se haga clic en el botón, el texto del cuadro de texto se imprimirá en la consola.

Conclusión

En este tutorial, aprendimos a crear una interfaz gráfica básica con wxPython en Python 3.10