Interfaz Gráfica con PySimpleGUI para Aplicaciones Web en Python

Interfaz Gráfica con PySimpleGUI para Aplicaciones Web en Python

Introducción

PySimpleGUI es una biblioteca de Python que permite crear interfaces gráficas de usuario (GUI) de forma rápida y sencilla. Es una biblioteca multiplataforma, lo que significa que las aplicaciones creadas con PySimpleGUI se pueden ejecutar en Windows, macOS y Linux.

En este tutorial, aprenderemos a crear una interfaz gráfica de usuario web con PySimpleGUI. Para ello, utilizaremos la variante web de PySimpleGUI, que se basa en la biblioteca Flask.

Instalación

Para instalar PySimpleGUI, debemos ejecutar el siguiente comando en la terminal:

pip install PySimpleGUI

Creación de la aplicación

Para crear una aplicación web con PySimpleGUI, debemos crear un archivo Python que contenga el código de la aplicación. En este caso, crearemos una aplicación simple que muestra un formulario de inicio de sesión.

El código de la aplicación es el siguiente:

Python
import PySimpleGUI as sg

# Definimos el formulario de inicio de sesión
layout = [
    [sg.Text("Usuario:"), sg.InputText()],
    [sg.Text("Contraseña:"), sg.InputText(password_char="*")],
    [sg.Submit(), sg.Cancel()]
]

# Creamos la ventana
window = sg.Window("Inicio de sesión", layout)

# Ejecutamos la aplicación
while True:
    # Leemos los eventos de la ventana
    event, values = window.read()

    # Si el evento es "Submit", validamos los datos del formulario
    if event == "Submit":
        # Si el usuario y la contraseña son correctos, cerramos la ventana
        if values["Usuario"] == "admin" and values["Contraseña"] == "123456":
            window.close()

    # Si el evento es "Cancel", cerramos la ventana
    elif event == "Cancel":
        window.close()

Ejecución de la aplicación

Para ejecutar la aplicación, debemos guardar el archivo Python con la extensión .py. A continuación, podemos ejecutar la aplicación con el siguiente comando en la terminal:

python nombre_archivo.py

Explicación del código

En el código anterior, definimos el formulario de inicio de sesión en la variable layout. El formulario consta de tres elementos: un campo de texto para el usuario, un campo de texto para la contraseña y dos botones, uno para «Enviar» y otro para «Cancelar».

A continuación, creamos la ventana con la función Window(). La función Window() recibe dos parámetros: el título de la ventana y el diseño del formulario.

En el bucle while True, leemos los eventos de la ventana con la función read(). Si el evento es «Submit», validamos los datos del formulario. Si el usuario y la contraseña son correctos, cerramos la ventana. Si el evento es «Cancel», cerramos la ventana.

Ejercicio

Modifica el código de la aplicación para que muestre un mensaje de error si el usuario o la contraseña son incorrectos.

Conclusión

En este tutorial, aprendimos a crear una interfaz gráfica de usuario web con PySimpleGUI. Para ello, utilizamos la variante web de PySimpleGUI, que se basa en la biblioteca Flask.

Para obtener más información sobre PySimpleGUI, puedes consultar la documentación oficial: https://pysimplegui.readthedocs.io/en/latest/.