Faceți GUI-uri simple cu ajutorul Raspberry Pi folosind EasyGUI

Adăugarea unei interfețe grafice (GUI) la proiectul dvs. Raspberry Pi este o modalitate excelentă de a include un ecran pentru introducerea datelor, butoane pe ecran pentru comenzi sau chiar o modalitate mai inteligentă de a afișa citiri de la componente cum ar fi senzori.

01 din 10

Faceți o interfață pentru proiectul dvs.

EasyGUI este un proiect rapid și simplu pentru a încerca acest weekend. Richard Saville

Există o serie de metode GUI diferite disponibile pentru Raspberry Pi, cu toate acestea, majoritatea au o curbă abruptă de învățare.

Interfața Tkinter Python poate fi opțiunea implicită "mergeți la" pentru majoritatea, cu toate acestea, începătorii se pot confrunta cu complexitatea sa. În mod similar, biblioteca PyGame oferă opțiuni pentru crearea unor interfețe impresionante, dar poate fi excedent de cerințe.

Dacă sunteți în căutarea unei interfețe simple și rapide pentru proiectul dvs., EasyGUI ar putea fi răspunsul. Ceea ce îi lipsește în frumusețea grafică este mult mai mult decât face în simplitatea și ușurința de utilizare.

Acest articol vă va oferi o introducere în bibliotecă, inclusiv unele dintre cele mai utile opțiuni pe care le-am găsit.

02 din 10

Descărcarea și importarea EasyGUI

Instalarea EasyGUI este simplă prin metoda "apt-get install". Richard Saville

Pentru acest articol, folosim sistemul de operare standard Raspbian disponibil aici.

Instalarea bibliotecii va fi un proces familiar pentru majoritatea utilizatorilor, folosind metoda "apt-get install". Veți avea nevoie de o conexiune la internet pe Raspberry Pi, folosind fie o conexiune Ethernet prin cablu sau WiFi.

Deschideți o fereastră terminală (pictograma unui ecran negru pe bara de sarcini a lui Pi) și introduceți următoarea comandă:

apt-get instalează python-easygui

Această comandă va descărca biblioteca și o va instala pentru dvs., și asta este tot ce trebuie să faceți.

03 din 10

Importați EasyGUI

Importarea EasyGUI are doar o singură linie. Richard Saville

EasyGUI trebuie să fie importat într-un script înainte de a putea utiliza funcțiile sale. Acest lucru se realizează prin introducerea unei singure linii în partea de sus a scriptului dvs. și este aceeași, indiferent de opțiunile de interfață EasyGUI pe care le utilizați.

Creați un script nou introducând următoarea comandă în fereastra terminalului:

sudo nano easygui.py

Va apărea un ecran gol - acesta este fișierul dvs. gol (nano este pur și simplu numele unui editor de text). Pentru a importa EasyGUI în scriptul dvs., introduceți următoarea linie:

de la easygui import *

Folosim această versiune specifică a importului pentru a face mai ușor codarea mai târziu. De exemplu, atunci când importați acest eway, în loc de a scrie "easygui.msgbox", putem folosi pur și simplu "msgbox".

Acum să acoperim câteva dintre opțiunile de interfață cheie din EasyGUI.

04 din 10

Caseta de bază de mesaje

Caseta de mesaje simplă este o modalitate excelentă de a începe cu EasyGUI. Richard Saville

Această casetă de mesaje, în forma sa cea mai simplă, oferă utilizatorului o linie de text și un singur buton pentru a face clic. Iată un exemplu de încercare: introduceți următoarea linie după linia dvs. de import și salvați utilizând Ctrl + X:

msgbox ("Cutie cool, nu?", "Sunt o cutie de mesaje")

Pentru a executa scriptul, utilizați următoarea comandă:

sudo python easygui.py

Ar trebui să vedeți o casetă de mesaj care apare cu "Sunt o cutie de mesaje" scrisă în bara de sus și "Cutie rece", nu? deasupra butonului.

05 din 10

Continuați sau anulați caseta

Caseta Continuare / Anulare poate adăuga confirmarea proiectelor dvs. Richard Saville

Uneori va trebui ca utilizatorul să confirme o acțiune sau să aleagă dacă va continua sau nu. Caseta "ccbox" oferă aceeași linie de text ca și caseta de bază de mai sus, dar oferă 2 butoane - "Continuare" și "Anulare".

Iată un exemplu de unul în uz, cu butoanele de a continua și anulați tipărirea la terminal. Puteti schimba actiunea dupa ce apasati fiecare buton pentru a face ce vreti:

de la easygui import * import timp msg msg = "Doriți să continuați?" title = "Continuați?" dacă ccbox (msg, title): # afișează un dialog de tip "Continuare / Anulare" "Utilizator selectat continuu" # Adăugați alte comenzi aici: # utilizator a ales Anulați imprimarea "Utilizatorul anulat" # Adăugați alte comenzi aici

06 din 10

Cutie cu butoane personalizate

Cutia de butoane vă permite să faceți opțiuni de buton personalizate. Richard Savlle

Dacă opțiunile din cutia încorporată nu vă dau destul de mult ceea ce aveți nevoie, puteți crea o casetă de butoane personalizată utilizând caracteristica buton "buton".

Acest lucru este minunat dacă aveți mai multe opțiuni care necesită acoperire sau poate controlați un număr de LED-uri sau alte componente cu interfața de utilizare.

Iată un exemplu de selectare a sosului pentru o comandă:

de la easygui import * import timp msg msg = "Care sos doriți?" opțiune = ["Mild", "Hot", "Extra fierbinte"] reply = buton (msg, options = options) în cazul răspunsului == "Mild": print reply if reply == "Hot" "Extra fierbinte": tipăriți răspunsul

07 din 10

Caseta de alegere

Cutia de alegere este excelentă pentru liste mai lungi de articole. Richard Saville

Butoanele sunt minunate, dar pentru liste lungi de opțiuni, o "cutie de alegere" are multă sens. Încercați să montați 10 butoane într-o cutie și veți fi de acord în curând!

Aceste casete afișează opțiunile disponibile în rânduri una după alta, cu o casetă "OK" și "Anulare" în lateral. Sunt destul de inteligenți, sortează opțiunile în ordine alfabetică și, de asemenea, vă permite să apăsați o cheie pentru a trece la prima opțiune a acelei scrisori.

Iată un exemplu care prezintă zece nume, pe care le puteți vedea, care au fost sortate pe ecran.

de la easygui import * import timp msg msg = "Cine lasă câinii afară?" title = "Alegerile câinilor" alegeri = "Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank" = caseta de selectare (msg, titlu, opțiuni)

08 din 10

Caseta pentru introducerea datelor

"Multenterbox" vă permite să capturați date de la utilizatori. Richard Saville

Formularele reprezintă o modalitate excelentă de a captura date pentru proiectul dvs., iar EasyGUI are o opțiune "multenterbox" care vă permite să afișați câmpuri etichetate pentru a captura informații cu.

Încă o dată, este vorba de un câmp de etichetare și de captare a intrărilor. Am făcut un exemplu mai jos pentru un formular foarte simplu de înscriere în cadrul gimnaziului.

Există opțiuni pentru adăugarea validării și a altor funcții avansate, pe care site-ul EasyGUI le acoperă în detaliu.

de la easygui import * timp de import msg = "Informații despre membru" title = "Formular de membru al Gym" fieldNames = [nume, câmp, valori, valori de start fieldValues ​​= (msg, title, fieldNames) câmpuri de imprimareValue

09 din 10

Adăugarea de imagini

Adăugați imagini în casetele dvs. pentru o nouă modalitate de a utiliza GUI. Richard Saville

Puteți adăuga imagini la interfețele EasyGUI prin includerea unei cantități foarte mici de cod.

Salvați o imagine în Raspberry Pi în același director ca și scriptul EasyGUI și faceți o notă cu privire la numele și extensia fișierului (de exemplu, image1.png).

Hai să folosim caseta de buton ca exemplu:

de la easygui import * import timp image = "RaspberryPi.jpg" msg = "Este o piersica Pi?" opțiuni = ["Da", "Nu"] răspuns = butonul de buton (msg, imagine = imagine,

10 din 10

Mai multe caracteristici avansate

Nu poți face sisteme de plăți cu EasyGUI, dar poți să te distrezi prefăcând !. Richard Saville

Am acoperit opțiunile principale EasyGUI de bază pentru a începe, cu toate acestea, sunt disponibile mai multe opțiuni și exemple de cutie, în funcție de cât de mult doriți să învățați și de ceea ce cere proiectul dvs.

Dulapurile de cutie, casetele de cod și chiar casetele de fișiere sunt disponibile pentru a numi câteva. Este o bibliotecă foarte versatilă, ușor de preluat în câteva minute, cu posibilități foarte mari de control al hardware-ului.

Dacă doriți să învățați cum să codificați alte lucruri cum ar fi Java, HTML sau mai multe, aici sunt cele mai bune resurse online de codare disponibile.