Skip to main content

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

Writing 2D Games in C using SDL by Thomas Lively (Iunie 2025)

Writing 2D Games in C using SDL by Thomas Lively (Iunie 2025)
Anonim

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.

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ă "go-to" pentru majoritatea utilizatorilor, dar începătorii se pot confrunta cu complexitatea acesteia. Î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.

Continuați să citiți mai jos

02 din 10

Descărcarea și importarea EasyGUI

Pentru acest articol, folosim sistemul de operare standard Raspbian.

Instalarea bibliotecii va fi un proces familial 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.

Continuați să citiți mai jos

03 din 10

Importați EasyGUI

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

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 încercat: introduceți următoarea linie după linia 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, cu Sunt o cutie de mesaje scrise în bara de sus și Postul cool? deasupra butonului.

Continuați să citiți mai jos

05 din 10

Continuați sau anulați caseta

Uneori veți avea nevoie de utilizator pentru a confirma o acțiune sau alegeți dacă doriți sau nu să continuați. Caseta "ccbox" oferă aceeași linie de text ca și caseta de mesaj de mai sus, dar oferă 2 butoane - Continua ș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 *timpul de importmsg = "Doriți să continuați?"title = "Continuați?"dacă ccbox (msg, title): # afișează un dialog Continue / Cancel print "Continuă selectarea utilizatorului" # Adăugați alte comenzi aici altceva: # utilizator a ales Anulare tipăriți "Utilizatorul anulat" # Adăugați alte comenzi aici 06 din 10

Cutie cu butoane personalizate

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 funcția "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țiuni = "ușoară", "fierbinte", "extra fierbinte"răspuns = buton (msg, opțiuni = opțiuni) dacă răspuns == "ușoară": print răspunsdacă răspunsul == "Hot": print răspunsdaca raspunsul == "Extra Hot": print răspuns

Continuați să citiți mai jos

07 din 10

Caseta de alegere

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 *timpul de importmsg = "Cine a lăsat câinii să iasă?"title = "Câini lipsă"alegeri = "Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"alegere = casetă de selectare (msg, titlu, opțiuni) 08 din 10

Caseta pentru introducerea datelor

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 *timpul de importmsg = "Informații despre membri"title = "Formular de membru al Gym"fieldNames = "Prenume", "Prenume", "Vârstă", "Greutate"fieldValues ​​= # valorile de pornirefieldValues ​​= caseta multenter (msg, title, fieldNames)tipăriți câmpurile

Continuați să citiți mai jos

09 din 10

Adăugarea de imagini

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 *timpul de importimage = "RaspberryPi.jpg"msg = "Este o piersică Pi?"opțiuni = "Da", "Nu"răspuns = buton (msg, imagine = imagine, opțiuni = opțiuni)dacă răspunsul == "Da": tipăriți "Da"altceva: imprimați "Nu" 10 din 10

Mai multe caracteristici avansate

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

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, puteți vedea cele mai bune resurse online de codare disponibile.