Fai guías simples co Raspberry Pi usando EasyGUI

Engadindo unha interface gráfica de usuario (GUI) ao seu proxecto Raspberry Pi é unha boa forma de incluír unha pantalla para a entrada de datos, botóns en pantalla para controis ou mesmo un xeito máis intelixente de mostrar lecturas de compoñentes como sensores.

01 de 10

Faga unha interface para o seu proxecto

EasyGUI é un proxecto rápido e sinxelo para probar este fin de semana. Richard Saville

Hai varios métodos de GUI dispoñibles para Raspberry Pi, pero a maioría ten unha curva de aprendizaxe íngreme.

A interface Tkinter Python pode ser a opción por defecto 'go to' para a maioría, pero os principiantes poden loitar coa súa complejidad. Do mesmo xeito, a biblioteca PyGame ofrece opcións para facer interfaces impresionantes pero pode ser excedente de requisitos.

Se buscas unha interface sinxela e rápida para o teu proxecto, EasyGUI podería ser a resposta. O que carece da beleza gráfica é máis que compensable na súa sinxeleza e facilidade de uso.

Este artigo daralle unha introdución á biblioteca, incluíndo algunhas das opcións máis útiles que atopamos.

02 de 10

Descarga e importación de EasyGUI

A instalación EasyGUI é sinxela co método 'apt-get install'. Richard Saville

Para este artigo, estamos a usar o sistema operativo Raspbian estándar que está dispoñible aquí.

Instalar a biblioteca será un proceso familiar para a maioría, usando o método 'apt-get install'. Necesitarás unha conexión a Internet no teu Raspberry Pi, usando unha conexión Ethernet ou Wi-Fi con fío.

Abra unha xanela de terminal (o ícono dunha pantalla negra na barra de tarefas de Pi) e introduza o seguinte comando:

apt-get install python-easygui

Este comando descargará a biblioteca e instálala por ti e esa é a configuración que necesitas.

03 de 10

Importar EasyGUI

Importar EasyGUI leva só unha liña. Richard Saville

EasyGUI debe importarse nun script antes de poder usar as súas funcións. Isto conséguese ao ingresar unha única liña na parte superior do seu script e é a mesma independentemente das opcións de interface EasyGUI que empregue.

Crea un novo script escribindo o seguinte comando na xanela do teu terminal:

sudo nano easygui.py

Aparecerá unha pantalla en branco - este é o seu ficheiro baleiro (nano é simplemente o nome dun editor de texto). Para importar EasyGUI no seu script, introduza a seguinte liña:

de importación easygui *

Usamos esta versión específica da importación para facilitar a codificación aínda máis tarde. Por exemplo, ao importar este eway, no canto de ter que escribir 'easygui.msgbox' simplemente podemos usar 'msgbox'.

Agora imos cubrir algunhas das opcións de interface clave dentro de EasyGUI.

04 de 10

Caixa de mensaxes básicas

A caixa de mensaxes sinxela é unha boa forma de comezar con EasyGUI. Richard Saville

Este cadro de mensaxes, na súa forma máis sinxela, dá ao usuario unha liña de texto e un só botón para facer clic. Aquí tes un exemplo para probar: escriba a seguinte liña despois da liña de importación e garde con Ctrl + X:

msgbox ("Cool box huh?", "Eu son un cadro de mensaxes")

Para executar o script, use o seguinte comando:

sudo python easygui.py

Debes ver que aparece unha caixa de mensaxes, con 'I am a Message Box' escrita na barra superior e 'Cool box huh?' por riba do botón.

05 de 10

Continuar ou Cancelar caixa

A caixa de Continuar / Cancelar pode engadir unha confirmación aos teus proxectos. Richard Saville

Ás veces, terás que o usuario confirmar unha acción ou elixir se continúa ou non. A caixa 'ccbox' ofrece a mesma liña de texto que a caixa de mensaxes básica enriba, pero ofrece dous botóns: 'Continuar' e 'Cancelar'.

Aquí tes un exemplo de un en uso, coa continuación e cancelar os botóns de impresión ao terminal. Podería cambiar a acción despois de que cada botón preme para facer o que queiras:

desde easygui importar * hora de importación msg = "Queres continuar?" title = "Continuar?" se ccbox (msg, title): # mostra un diálogo Continuar / Cancelar imprimir "Usuario seleccionado continuar" # Engadir outros comandos aquí máis: # usuario escolle Cancelar impresión "Usuario cancelado" # Engadir outros comandos aquí

06 de 10

Caixa de botón personalizada

O botón "botón" permítelle facer opcións de botón personalizadas. Richard Savlle

Se as opcións de caixa integrada non proporcionan o que necesitas, podes crear unha caixa de botón personalizada usando a función "caixa de botón".

Isto é xenial se ten máis opcións que precisan cubrir ou quizais controlen varios LED ou outros compoñentes coa IU.

Aquí tes un exemplo de selección de salsa para unha orde:

desde easygui importar * tempo de importación msg = "Que salsa che gustaría?" opcións = ["Mild", "Hot", "Extra Hot"] reply = buttonbox (msg, choices = opcións) se responder == "Mild": imprimir resposta se resposta == "Hot": imprimir resposta se resposta == "Extra Hot": imprimir resposta

07 de 10

Caixa de selección

The Choice Box é xenial para listas de elementos máis longas. Richard Saville

Os botóns son excelentes, pero para longas listas de opcións, unha "caixa de selección" ten moito sentido. Tente axustar 10 botóns nunha caixa e pronto estare de acordo.

Estas caixas lista as opcións dispoñibles nas filas unha despois da outra, cunha caixa "Aceptar" e "Cancelar" ao lado. Son razoablemente intelixentes, ordenan as opcións alfabéticamente e tamén permiten que presione unha tecla para saltar á primeira opción dese carta.

Aquí tes un exemplo que mostra dez nomes, que podes ver foi clasificado na captura de pantalla.

da importación de easygui * hora de importación msg = "Quen deixa que os cans saian?" Opcións = "Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim" e "Hannah"]. = opción (msg, título, opcións)

08 de 10

Caixa de entrada de datos

O "Multenterbox" permítelle capturar datos dos usuarios. Richard Saville

Os formularios son unha boa forma de capturar datos para o seu proxecto e EasyGUI ten unha opción "multenterbox" que lle permite mostrar campos etiquetados para capturar información.

Unha vez máis é un caso de campos de etiquetado e simplemente captura a entrada. Fixemos un exemplo a continuación para un formulario de inscrición moi sinxelo de asociación de ximnasia.

Hai opcións para engadir a validación e outras funcións avanzadas, que o sitio web EasyGUI abrangue detalladamente.

de importación de easygui * tempo de importación msg = "Información do membro" title = "Formulario de membro do ximnasio" fieldNames = ["Nome", "Apelido", "Idade", "Peso"] fieldValues ​​= [] # valores de inicio fieldValues ​​= multenterbox (msg, title, fieldNames) print fieldValues

09 de 10

Engadir imaxes

Engade imaxes ás túas caixas para unha forma completamente nova de usar a GUI. Richard Saville

Pode engadir imaxes ás súas interfaces EasyGUI incluíndo unha cantidade moi pequena de código.

Garda unha imaxe no teu Raspberry Pi no mesmo directorio que o teu script EasyGUI e fai unha nota do nome e da extensión do ficheiro (por exemplo, image1.png).

Usemos a caixa do botón como exemplo:

desde easygui import * import time image = "RaspberryPi.jpg" msg = "¿É isto un Raspberry Pi?" opcións = ["Si", "Non"] reply = buttonbox (msg, image = image, choices = opcións) se responder == "Si": imprimir "Si" else: print "Non"

10 de 10

Máis funcións avanzadas

Non podes facer sistemas de pago con EasyGUI, ¡pero podes divertirse finxindo !. Richard Saville

Cubrimos as principais opcións básicas de EasyGUI aquí para comezar, con todo, hai moitas máis opcións de caixa e exemplos dispoñibles en función do moito que queiras aprender e o que o teu proxecto require.

Os cadros de contrasinais, caixas de códigos e mesmo caixas de ficheiros están dispoñibles para nomear algúns. É unha biblioteca moi versátil que é fácil de recoñecer en minutos, tamén con algunhas grandes posibilidades de control de hardware.

Se desexa aprender a codificar outras cousas como Java, HTML ou máis, aquí están os mellores recursos de codificación en liña dispoñibles.