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 10Feu una interfície per al vostre projecte
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 "go-to" 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.
Continueu llegint a continuació
02 de 10Descarregar i importar EasyGUI
Per a aquest article, estem utilitzant el sistema operatiu Raspbian estàndard.
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. Continueu llegint a continuació 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. 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-lo utilitzant 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 Sóc un quadre de missatges escrit a la barra superior, i Cool box huh? damunt del botó. Continueu llegint a continuació De vegades, necessiteu 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: Continua 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: de la importació de easygui *temps d'importaciómsg = "Voleu continuar?"title = "Continuar?"si ccbox (msg, title): # mostra un diàleg Continua / Cancel·la imprimir "L'usuari seleccionat continua" # Afegiu altres ordres aquí en cas contrari: # usuari escull Cancel·la imprimir "Usuari cancel·lat" # Afegiu altres ordres aquí 06 de 10 Si les opcions de la caixa integrada no proporcionen el que necessiteu, podeu crear un quadre de botó personalitzat mitjançant la funció "botó de selecció". 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: de la importació de easygui *temps d'importació msg = "Quina salsa t'agradaria?"opcions = "Mild", "Hot", "Extra Hot"answer = buttonbox (msg, options = choices) si respon == "Mild": imprimir respostasi respon == "Calenta": imprimir respostasi respon == "Extra Hot": imprimir resposta
Continueu llegint a continuació 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. de la importació de easygui *temps d'importaciómsg = "Qui deixa que els gossos surtin?"title = "Gossos desapareguts"eleccions = "Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"choice = choicebox (missatge, títol, opcions) 08 de 10 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ó de easygui *temps d'importaciómsg = "Informació de membres"title = "Formulari de pertinença al gimnàs"fieldNames = "Nom", "Cognoms", "Edat", "Pes"fieldValues = # els valors inicialsfieldValues = multenterbox (msg, title, fieldNames)imprimir fieldValues Continueu llegint a continuació 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ó de easygui *temps d'importacióimage = "RaspberryPi.jpg"msg = "És això un Raspberry Pi?"opcions = "Sí", "No"answer = buttonbox (msg, image = image, options = choices)si respon == "Sí": imprimir "Sí"altra cosa: imprimir "No" 10 de 10 Hem cobert les principals opcions bàsiques de "EasyGUI" bàsic per iniciar-lo, però, hi ha moltes 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, podeu veure els millors recursos de codificació en línia disponibles. Importar EasyGUI
Caixa de missatges bàsics
Continuar o Cancel · lar la casella
Caixa de botons personalitzada
Elecció de la caixa
Taula d'entrada de dades
Afegir imatges
Més funcions avançades