Cree GUI simples con Raspberry Pi usando EasyGUI
Agregar una interfaz gráfica de usuario (GUI) para usted Frambuesa pi El proyecto es una excelente manera de incluir una pantalla para la entrada de datos, botones en pantalla para los controles o una forma más inteligente de mostrar lecturas de componentes como sensores.
Este artículo utiliza el sistema operativo estándar de Raspbian.
Cree una interfaz para su proyecto
Hay varios métodos de GUI disponibles para Raspberry Pi. Sin embargo, la mayoría tiene una curva de aprendizaje pronunciada.
La interfaz de Tkinter Python puede ser la opción predeterminada para la mayoría, pero los principiantes pueden tener problemas con su complejidad. De manera similar, la biblioteca PyGame ofrece posibilidades para crear interfaces impresionantes, pero puede exceder los requisitos.
Si está buscando una interfaz rápida y sencilla para su proyecto, EasyGUI podría ser la respuesta. Lo que le falta en belleza gráfica, lo compensa con creces en su simplicidad y facilidad de uso.

Este artículo ofrece una introducción a la biblioteca, incluidas algunas de las opciones más útiles que hemos encontrado.
Descargar e importar EasyGUI
La instalación de la biblioteca le resultará familiar si ha utilizado el método de instalación apt-get. Necesita una conexión a Internet en su Raspberry Pi, utilizando un cable Ethernet o Wifi conexión.
Este comando descarga la biblioteca y la instala por usted. Esa es toda la configuración que necesita hacer.
-
Abra una ventana de terminal (el icono de una pantalla negra en la barra de tareas de su Pi) e ingrese el siguiente comando:
desde easygui import *
tiempo de importaciónEsta versión de la importación facilita la codificación más adelante. Por ejemplo, al importar de esta manera, en lugar de escribir easygui.msgbox, puedes usar msgbox.
-
En su forma más simple, este buzon de mensaje da una línea de texto y un solo botón para hacer clic. Aquí tienes un ejemplo para probar. Ingrese la siguiente línea después de su línea de importación y guarde usando control+X:
desde easygui import *
tiempo de importación
msg = "Caja fría, ¿eh?"
title = "Soy un cuadro de mensaje"
# Agrega otros comandos aquíAparece un cuadro de mensaje con Soy un cuadro de mensaje escrito en la barra superior, y Cool box ¿eh? encima del botón.
-
A veces, necesitará que el usuario confirme una acción o elija si desea continuar. El cuadro ccbox ofrece la misma línea de texto que el cuadro de mensaje principal anterior, pero proporciona dos botones: Continuar y Cancelar.
Aquí hay un ejemplo de uno en uso, con los botones continuar y cancelar imprimiendo en el terminal. Puede cambiar la acción después de presionar cada botón para hacer lo que quiera:
desde easygui import *
tiempo de importación
msg = "¿Le gustaría continuar?"
title = "¿Continuar?"
if ccbox (msg, title): # muestra un cuadro de diálogo Continuar / Cancelar
imprimir "Usuario seleccionado continuar"
# Agrega otros comandos aquí
else: # usuario eligió Cancelar
imprimir "Usuario cancelado"
# Agrega otros comandos aquí -
Si las opciones del cuadro integrado no le brindan lo que necesita, cree un cuadro de botón personalizado usando el caja de botones característica. Esto es excelente si tiene más opciones que deben cubrirse o tal vez controle varios LED u otros componentes con la interfaz de usuario.
A continuación, se muestra un ejemplo de selección de salsa para un pedido:
desde easygui import *
import time msg = "¿Qué salsa te gustaría?"
opciones = ["Suave", "Picante", "Extra picante"]
respuesta = caja de botones (mensaje, opciones = opciones) si respuesta == "Suave":
imprimir respuesta
si respuesta == "Caliente":
imprimir respuesta
if respuesta == "Extra Hot":
imprimir respuesta -
Los botones son geniales, pero para listas largas de opciones, un caja de elección tiene sentido. Estos cuadros enumeran las opciones disponibles en filas, una tras otra. Un OK y Cancelar la caja está al lado. Estos son razonablemente inteligentes, ordenan las opciones alfabéticamente y también le permiten presionar una tecla para saltar a la primera opción de esa letra.
Aquí hay un ejemplo que muestra diez nombres, que puede ver que se han ordenado en la captura de pantalla.
desde easygui import *
tiempo de importación
msg = "¿Quién dejó salir a los perros?"
title = "Perros desaparecidos"
choice = ["Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"]
choice = choicebox (mensaje, título, opciones) -
Los formularios son una excelente manera de capturar datos para su proyecto. EasyGUI tiene un multenterbox opción que le permite mostrar campos etiquetados para obtener información.
Se trata de etiquetar campos y capturar la entrada. El siguiente ejemplo es para un formulario de registro de membresía de gimnasio simple.
Hay opciones para agregar validación y otras características avanzadas, que el sitio web de EasyGUI cubre en detalle.
desde easygui import *
tiempo de importación
msg = "Información del miembro"
title = "Formulario de membresía del gimnasio"
fieldNames = ["Nombre", "Apellido", "Edad", "Peso"]
fieldValues = [] # los valores iniciales
fieldValues = multenterbox (msg, title, fieldNames)
print fieldValues -
Puede agregar imágenes a sus interfaces EasyGUI al incluir una cantidad mínima de código. Guarde una imagen en su Raspberry Pi en el mismo directorio que su script EasyGUI y tome nota del nombre y la extensión del archivo (por ejemplo, image1.png).
Usando el cuadro de botones como ejemplo:
desde easygui import *
tiempo de importación
image = "RaspberryPi.jpg"
msg = "¿Es una Raspberry Pi?"
opciones = ["Sí", "No"]
respuesta = caja de botones (mensaje, imagen = imagen, opciones = opciones)
si respuesta == "Sí":
imprimir "Sí"
demás:
imprimir "No"
Funciones más avanzadas
Hay más opciones de recuadros y ejemplos disponibles dependiendo de cuánto desee aprender y de lo que requiera su proyecto.

Se encuentran disponibles cuadros de contraseña, cuadros de código y cuadros de archivo, por nombrar algunos. Es una biblioteca versátil que es fácil de aprender en minutos, con excelentes posibilidades de control de hardware también.
Si desea aprender a codificar otras cosas como Java, HTML o más, consulte los mejores recursos de codificación en línea disponibles.