Feu senzilles interfícies gràfiques amb el Raspberry Pi mitjançant EasyGUI

Afegir una interfície gràfica d'usuari (GUI) al projecte Raspberry Pi és una bona manera d'incloure una pantalla per a l'entrada de dades, botons a la pantalla per als controls o fins i tot una forma més intel·ligent de mostrar lectures de components com sensors.

01 de 10

Feu una interfície per al vostre projecte

EasyGUI és un projecte ràpid i senzill per provar aquest cap de setmana. Richard Saville

Hi ha diversos mètodes de GUI disponibles per Raspberry Pi, però, la majoria tenen una corba d'aprenentatge escarpada.

La interfície de Tkinter Python pot ser l'opció predeterminada "anar a" per a la majoria, però, els principiants poden lluitar amb la seva complexitat. De la mateixa manera, la biblioteca PyGame ofereix opcions per fer interfícies impressionants, però pot ser excedent dels requisits.

Si busqueu una interfície senzilla i ràpida per al vostre projecte, EasyGUI podria ser la resposta. El que li falta en la bellesa gràfica és més que compensable en la seva senzillesa i facilitat d'ús.

Aquest article us donarà una introducció a la biblioteca, incloses algunes de les opcions més útils que hem trobat.

02 de 10

Descarregar i importar EasyGUI

La instal·lació EasyGUI és senzilla amb el mètode 'apt-get install'. Richard Saville

Per a aquest article, estem utilitzant el sistema operatiu Raspbian estàndard que està disponible aquí.

Instal·lar la biblioteca serà un procés familiar per a la majoria, utilitzant el mètode 'apt-get install'. Necessiteu una connexió a Internet al Raspberry Pi, utilitzant una connexió Ethernet o Wi-Fi amb cable.

Obriu una finestra de terminal (la icona d'una pantalla negra a la barra de tasques de Pi) i introduïu l'ordre següent:

apt-get install python-easygui

Aquesta comanda descarregarà la biblioteca i la instal·larà per a tu, i aquesta és tota la configuració que necessiteu fer.

03 de 10

Importar EasyGUI

Importar EasyGUI només té una línia. Richard Saville

EasyGUI cal importar a un script abans de poder utilitzar les seves funcions. Això s'aconsegueix introduint una única línia a la part superior del vostre script i és la mateixa independentment de quines opcions d'interfície EasyGUI utilitzeu.

Creeu un script nou introduint el següent comandament a la finestra del vostre terminal:

sudo nano easygui.py

Apareixerà una pantalla en blanc: aquest és el vostre fitxer buit (nano és simplement el nom d'un editor de text). Per importar EasyGUI al vostre script, introduïu la següent línia:

de la importació de easygui *

Utilitzem aquesta versió específica de la importació per facilitar la codificació encara més endavant. Per exemple, en importar aquesta eway, en comptes d'haver d'escriure 'easygui.msgbox', simplement usem 'msgbox'.

Ara anem a cobrir algunes de les opcions de la interfície clau dins de EasyGUI.

04 de 10

Caixa de missatges bàsics

El quadre de missatges simples és una bona manera de començar amb EasyGUI. Richard Saville

Aquest quadre de missatge, en la forma més senzilla, proporciona a l'usuari una línia de text i un sol botó per fer clic. Aquí teniu un exemple per provar: introduïu la següent línia després de la vostra línia d'importació i deseu-ho amb Ctrl + X:

msgbox ("Cool box huh?", "Jo sóc un quadre de missatge")

Per executar l'script, utilitzeu l'ordre següent:

sudo python easygui.py

Hauríeu de veure un quadre de missatge, amb "Jo sóc un quadre de missatges" escrit a la barra superior, i "Caixa fresca huh?" damunt del botó.

05 de 10

Continuar o Cancel · lar la casella

El quadre Continuar / Cancelar pot afegir confirmació als vostres projectes. Richard Saville

De vegades necessitaràs que l'usuari confirmi una acció o que decideixi continuar o no. El quadre "ccbox" ofereix la mateixa línia de text que el quadre de missatges bàsics a dalt, però proporciona 2 botons: "Continuar" i "Cancel·lar".

Aquí teniu un exemple d'un en ús, amb la impressió de botons de continuar i cancel·lar al terminal. Podeu canviar l'acció després de prémer cada botó per fer el que vulgueu:

des de la importació easygui * hora d'importació msg = "Voleu continuar?" title = "Continuar?" si ccbox (msg, title): # mostra un quadre de diàleg Continuar / Cancelar "Usuari seleccionat continuar" # Afegeix altres comandes aquí més: # usuari escull Cancel·la impressió "Usuari cancel·lat" # Afegeix altres ordres aquí

06 de 10

Caixa de botons personalitzada

La "casella de selecció" us permet fer opcions de botons personalitzades. Richard Savlle

Si les opcions de la caixa integrada no proporcionen el que necessiteu, podeu crear un quadre de botó personalitzat mitjançant la funció "botons".

Això és genial si teniu més opcions que necessiten cobrir, o potser estiguin controlant diversos LED o altres components amb la interfície d'usuari.

Aquí teniu un exemple de selecció de salses per a un ordre:

des de la importació easygui * temps d'importació msg = "Quina salsa t'agradaria?" opcions = ["Mild", "Hot", "Extra Hot"] reply = buttonbox (msg, choices = options) if reply == "Mild": print reply if reply == "Hot": print reply if reply == "Extra Hot": imprimir resposta

07 de 10

Elecció de la caixa

The Choice Box és ideal per a llistes d'articles més llargues. Richard Saville

Els botons són excel·lents, però per a llistes llargues d'opcions, una "caixa d'opcions" té molt sentit. Proveu d'ajustar 10 botons en una caixa i aviat acceptareu.

Aquests quadres llisten les opcions disponibles a les files un darrere l'altre, amb una casella "D'acord" i "Cancel·la" al lateral. Són raonablement intel·ligents, ordenen les opcions alfabèticament i també us permeten prémer una tecla per anar a la primera opció d'aquesta carta.

Aquí teniu un exemple que mostra deu noms, que podeu veure ha estat ordenat a la captura de pantalla.

des de la importació de easygui * temps d'importació msg = "Qui deixa que els gossos surtin?" title = "Missing Dogs" options = ["Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"] = opció (missatge, títol, opcions)

08 de 10

Taula d'entrada de dades

La "Multenterbox" us permet capturar dades dels usuaris. Richard Saville

Els formularis són una forma excel·lent de capturar dades del vostre projecte i EasyGUI té una opció de "caixa multimèdia" que us permet mostrar camps etiquetats per capturar informació.

Una vegada més es tracta d'un cas d'etiquetatge i simplement de capturar l'entrada. Hem donat un exemple a continuació per obtenir un formulari de registre de pertinença a la gimera molt simple.

Hi ha opcions per afegir validacions i altres funcions avançades, que el lloc web EasyGUI inclou en detall.

de la importació easygui * hora d'importació msg = "Informació de membres" title = "Formulari de membres de gimnàstica" fieldNames = ["Nom", "Cognoms", "Edat", "Pes"] fieldValues ​​= [] # els valors inicials fieldValues ​​= multenterbox (msg, title, fieldNames) print fieldValues

09 de 10

Afegir imatges

Afegiu imatges als vostres quadres per obtenir una nova forma d'utilitzar la interfície gràfica d'usuari. Richard Saville

Podeu afegir imatges a les interfícies EasyGUI incloent una quantitat molt petita de codi.

Deseu una imatge a la vostra Raspberry Pi al mateix directori que el vostre script EasyGUI i feu una nota del nom i l'extensió del fitxer (per exemple, image1.png).

Fem servir el quadre del botó com a exemple:

de la importació easygui * import time image = "RaspberryPi.jpg" msg = "És això un Raspberry Pi?" opcions = ["Sí", "No"] answer = buttonbox (msg, image = image, choices = options) if reply == "Yes": print "Yes" else: print "No"

10 de 10

Més funcions avançades

No podeu fer sistemes de pagament amb EasyGUI, però podeu divertir-vos de pretendre !. Richard Saville

Hem cobert les principals opcions bàsiques de "EasyGUI" aquí per iniciar-lo, però, hi ha moltes més opcions i exemples disponibles en funció del tipus que vulgueu aprendre i el que el vostre projecte requereixi.

També hi ha caixes de contrasenyes, quadres de codi i quadres de fitxers disponibles per nomenar alguns. És una biblioteca molt versàtil que és fàcil de recollir en qüestió de minuts, amb algunes possibilitats de control del maquinari molt bé.

Si voleu aprendre com codificar altres coses com Java, HTML o més, aquí teniu els millors recursos de codificació en línia disponibles.