Python para principiantes II: V28 – GUI con PySimpleGUI (2)

Posted by


En la entrega anterior, introdujimos la biblioteca PySimpleGUI para crear interfaces gráficas en Python de una manera sencilla y rápida. En esta nueva entrega, continuaremos explorando las capacidades de PySimpleGUI para crear interfaces más completas y funcionales.

En este tutorial, nos centraremos en cómo utilizar PySimpleGUI para crear ventanas con múltiples elementos de interfaz de usuario, como botones, etiquetas, campos de entrada, listas desplegables, casillas de verificación, etc.

Empezaremos por importar la biblioteca PySimpleGUI y definir una ventana básica. A continuación, explicaremos cómo añadir diferentes elementos de interfaz de usuario a la ventana y cómo manejar eventos como hacer clic en un botón.

  1. Importar PySimpleGUI y definir una ventana básica

Para comenzar, importaremos la biblioteca PySimpleGUI y definiremos una ventana básica utilizando la función sg.Window(). También podemos especificar el diseño de la ventana y el título de la misma. A continuación se muestra un ejemplo de cómo hacerlo:

import PySimpleGUI as sg

layout = [
    [sg.Text('¡Hola, mundo!')],
    [sg.Button('Haz clic aquí')]
]

window = sg.Window('Mi primera ventana', layout)

En este ejemplo, estamos creando una ventana con un texto ‘¡Hola, mundo!’ y un botón ‘Haz clic aquí’.

  1. Añadir elementos de interfaz de usuario a la ventana

Ahora vamos a añadir más elementos de interfaz de usuario a la ventana, como campos de entrada, listas desplegables, casillas de verificación, etc. Para ello, podemos utilizar las clases y funciones proporcionadas por PySimpleGUI. A continuación se muestra un ejemplo de cómo añadir un campo de entrada y una lista desplegable a la ventana:

layout = [
    [sg.Text('Introduce tu nombre:'), sg.InputText()],
    [sg.Text('Selecciona tu país:'), sg.Combo(['España', 'México', 'Argentina'])],
    [sg.Button('Enviar')]
]

En este ejemplo, hemos añadido un campo de entrada para que el usuario introduzca su nombre y una lista desplegable para que seleccione su país.

  1. Manejar eventos de la interfaz de usuario

Una vez que hemos añadido elementos de interfaz de usuario a la ventana, podemos manejar eventos como hacer clic en un botón. Para ello, podemos utilizar el método read() de la ventana para esperar a que ocurra un evento y luego ejecutar una determinada acción en función del evento. A continuación se muestra un ejemplo de cómo manejar el evento de hacer clic en el botón ‘Enviar’:

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED or event == 'Enviar':
        break

En este ejemplo, estamos utilizando un bucle while para esperar a que ocurra un evento. Si el evento es hacer clic en el botón ‘Enviar’ o cerrar la ventana, salimos del bucle.

En resumen, en este tutorial hemos aprendido cómo utilizar PySimpleGUI para crear interfaces gráficas en Python con elementos de interfaz de usuario como botones, campos de entrada, listas desplegables, etc. También hemos visto cómo manejar eventos de la interfaz de usuario para ejecutar acciones específicas en función de los eventos. ¡Espero que este tutorial te haya sido útil y te haya ayudado a familiarizarte con PySimpleGUI!