L'aggiunta di un'interfaccia grafica utente (GUI) al progetto Raspberry Pi è un ottimo modo per includere una schermata per l'inserimento dei dati, pulsanti sullo schermo per i controlli o anche solo un modo più intelligente per mostrare le letture da componenti come i sensori.
01 di 10Crea un'interfaccia per il tuo progetto

Ci sono diversi metodi GUI disponibili per il Raspberry Pi, tuttavia, la maggior parte ha una curva di apprendimento ripida.
L'interfaccia di Tkinter Python può essere l'opzione predefinita "go-to" per la maggior parte, tuttavia, i principianti possono lottare con la sua complessità. Allo stesso modo, la libreria PyGame offre opzioni per realizzare interfacce impressionanti ma potrebbe essere in eccesso rispetto ai requisiti.
Se stai cercando un'interfaccia semplice e veloce per il tuo progetto, EasyGUI potrebbe essere la risposta. Ciò che manca nella bellezza grafica è più che compensato nella sua semplicità e facilità d'uso.
Questo articolo ti fornirà un'introduzione alla libreria, incluse alcune delle opzioni più utili che abbiamo trovato.
Continua a leggere sotto
02 di 10Download e importazione di EasyGUI

Per questo articolo, stiamo usando il sistema operativo standard Raspbian.
Installare la libreria sarà un processo familiare per la maggior parte, usando il metodo "apt-get install". Avrai bisogno di una connessione internet sul tuo Raspberry Pi, usando una connessione Ethernet o WiFi cablata.
Apri una finestra di terminale (l'icona di una schermata nera sulla barra delle applicazioni di Pi) e inserisci il seguente comando:
apt-get installa python-easygui
Questo comando scaricherà la libreria e la installerà per te, e questa è tutta la configurazione che devi fare. Continua a leggere sotto EasyGUI deve essere importato in uno script prima di poter utilizzare le sue funzioni. Questo risultato si ottiene inserendo una singola riga nella parte superiore dello script ed è la stessa indipendentemente dalle opzioni dell'interfaccia EasyGUI che si utilizzano. Crea un nuovo script inserendo il seguente comando nella finestra del terminale: sudo nano easygui.py
Apparirà una schermata vuota - questo è il tuo file vuoto (nano è semplicemente il nome di un editor di testo). Per importare EasyGUI nel tuo script, inserisci la seguente riga: da importazione easygui *
Usiamo questa versione specifica dell'importazione per rendere la codifica ancora più semplice in seguito. Ad esempio, quando si importa questo eway, invece di dover scrivere 'easygui.msgbox', possiamo semplicemente usare "msgbox". Ora esaminiamo alcune delle principali opzioni di interfaccia all'interno di EasyGUI. Questa "finestra di messaggio", nella sua forma più semplice, fornisce all'utente una riga di testo e un singolo pulsante per fare clic. Ecco un esempio da provare: immettere la seguente riga dopo la riga di importazione e salvare utilizzando Ctrl + X: msgbox ("Cool box huh?", "I am a Message Box")
Per eseguire lo script, utilizzare il seguente comando: sudo python easygui.py
Dovresti vedere apparire una finestra di messaggio con Sono una casella di messaggio scritto nella barra in alto, e Scatola fresca eh? sopra il pulsante. Continua a leggere sotto A volte è necessario che l'utente confermi un'azione o scelga se continuare o meno. La casella "ccbox" offre la stessa riga di testo della finestra di messaggio di base sopra, ma fornisce 2 pulsanti - Continua e Annulla. Ecco un esempio di uno in uso, con i pulsanti continua e annulla che stampano sul terminale. Puoi cambiare l'azione dopo ogni pressione di un pulsante per fare quello che vuoi: da importazione easygui *tempo di importazionemsg = "Vorresti continuare?"title = "Continua?"se ccbox (msg, titolo): # mostra una finestra di dialogo Continua / Annulla stampa "Utente selezionato continua" # Aggiungi altri comandi qui altro: # utente ha scelto Annulla stampa "Utente annullato" # Aggiungi altri comandi qui 06 di 10 Se le opzioni della casella incorporata non ti forniscono esattamente ciò che ti serve, puoi creare una casella pulsante personalizzata utilizzando la funzione "buttonbox". Questo è fantastico se hai più opzioni che devono coprire o forse stai controllando un numero di LED o altri componenti con l'interfaccia utente. Ecco un esempio che seleziona la salsa per un ordine: da importazione easygui *tempo di importazione msg = "Quale salsa vorresti?"choices = "Mild", "Hot", "Extra Hot"reply = buttonbox (msg, choices = choices) se reply == "Mild": stampa rispostase rispondi == "Caldo": stampa rispostase risposta == "Extra Hot": stampa risposta
Continua a leggere sotto I pulsanti sono fantastici, ma per lunghi elenchi di opzioni, un "riquadro di scelta" ha molto senso. Prova ad inserire 10 pulsanti in una scatola e presto sarai d'accordo! Queste caselle elencano le opzioni disponibili nelle righe una dopo l'altra, con una casella "OK" e "Annulla" sul lato. Sono abbastanza intelligenti, ordinano le opzioni in ordine alfabetico e ti permettono anche di premere un tasto per saltare alla prima opzione di quella lettera. Ecco un esempio che mostra dieci nomi, che puoi vedere è stato ordinato nello screenshot. da importazione easygui *tempo di importazionemsg = "Chi ha fatto uscire i cani?"title = "I cani scomparsi"choices = "Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"choice = choicebox (msg, titolo, scelte) 08 di 10 I moduli sono un ottimo modo per acquisire dati per il tuo progetto e EasyGUI ha un'opzione 'multenterbox' che ti permette di mostrare i campi etichettati con cui acquisire informazioni. Ancora una volta è un caso di etichettatura dei campi e semplicemente catturare l'input. Abbiamo fatto un esempio qui di seguito per un modulo di registrazione per l'iscrizione alla palestra molto semplice. Ci sono opzioni per aggiungere la convalida e altre funzionalità avanzate, che il sito Web EasyGUI tratta in dettaglio. da importazione easygui *tempo di importazionemsg = "Informazioni membro"title = "Modulo di iscrizione alla palestra"fieldNames = "Nome", "Cognome", "Età", "Peso"fieldValues = # i valori inizialifieldValues = multenterbox (msg, titolo, fieldNames)stampa fieldValues Continua a leggere sotto È possibile aggiungere immagini alle interfacce EasyGUI includendo una quantità molto piccola di codice. Salva un'immagine sul tuo Raspberry Pi nella stessa directory dello script EasyGUI e prendi nota del nome e dell'estensione del file (ad esempio, image1.png ). Usiamo la scatola dei pulsanti come esempio: da importazione easygui *tempo di importazioneimage = "RaspberryPi.jpg"msg = "Questo è un Raspberry Pi?"choices = "Sì", "No"reply = buttonbox (msg, image = image, choices = choices)se rispondi == "Sì": stampa "Sì"altro: stampa "No" 10 di 10 Abbiamo già descritto le principali opzioni "base" di EasyGUI per iniziare, tuttavia ci sono molte più opzioni ed esempi disponibili a seconda di quanto vuoi imparare e di cosa richiede il tuo progetto. Caselle di password, caselle di codice e persino caselle di file sono disponibili per citarne alcuni. È una libreria molto versatile che è facile da raccogliere in pochi minuti, con alcune ottime possibilità di controllo hardware. Se desideri imparare come codificare altre cose come Java, HTML o altro, puoi vedere le migliori risorse di codifica online disponibili. Importa EasyGUI

Casella di messaggio di base

Continua o Annulla la casella

Pulsante personalizzato

Scatola scelta

Casella di inserimento dati

Aggiunta di immagini

Altre funzionalità avanzate





