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:
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/.