Creați interfețe grafice simple cu Raspberry Pi folosind EasyGUI

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

Acest articol folosește sistemul de operare standard Raspbian.

Creați o interfață pentru proiectul dvs

Mai multe metode GUI sunt disponibile pentru Raspberry Pi. Cu toate acestea, majoritatea au o curbă de învățare abruptă.

Interfața Tkinter Python poate fi opțiunea implicită pentru majoritatea, dar începătorii se pot lupta cu complexitatea acesteia. În mod similar, biblioteca PyGame oferă posibilități de realizare a interfețelor impresionante, dar poate fi în plus față de cerințe.

Dacă cauți o interfață rapidă și simplă pentru proiectul tău, EasyGUI ar putea fi răspunsul. Ceea ce îi lipsește în frumusețea grafică, compensează mai mult prin simplitatea și ușurința în utilizare.

Casete de mesaje EasyGUI

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

Descărcați și importați EasyGUI

Instalarea bibliotecii va fi familiară dacă ați folosit metoda apt-get install. Aveți nevoie de o conexiune la internet pe Raspberry Pi, folosind fie o conexiune cu fir Ethernet sau Wifi conexiune.

Această comandă descarcă biblioteca și o instalează pentru tine. Asta e toată configurația pe care trebuie să o faci.

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

    din import easygui *
    timpul de import

    Import EasyGUI

    Această versiune a importului face codarea mai ușoară mai târziu. De exemplu, atunci când importați în acest fel, în loc să scrieți easygui.msgbox, poți să folosești msgbox.

  2. În cea mai simplă formă, aceasta caseta de mesaje oferă o linie de text și un singur buton pe care să faceți clic. Iată un exemplu de încercat. Introduceți următoarea linie după linia de import și salvați folosind Ctrl+X:

    din import easygui *
    timpul de import
    msg = "Cutie rece, nu?"
    title = „Sunt o casetă de mesaje”
     # Adăugați alte comenzi aici

    Apare o casetă de mesaj, cu Sunt o cutie de mesaje scris în bara de sus și Cutie rece, nu? deasupra butonului.

    Caseta de mesaje EasyGUI
  3. Uneori, va trebui ca utilizatorul să confirme o acțiune sau să aleagă dacă să continue. Caseta ccbox oferă aceeași linie de text ca și caseta de mesaj principal de mai sus, dar oferă două butoane: Continua și Anulare.

    Iată un exemplu de unul în uz, cu butoanele de continuare și de anulare tipărite pe terminal. Puteți schimba acțiunea după fiecare apăsare de buton pentru a face ceea ce doriți:

    din import easygui *
    timpul de import
    msg = "Doriți să continuați?"
    title = "Continuați?"
    if ccbox (msg, title): # afișează un dialog Continuare/Anulare
     printeaza "Utilizatorul selectat continua"
     # Adăugați alte comenzi aici
     else: # utilizator a ales Anulare
     tipăriți „Utilizatorul anulat”
     # Adăugați alte comenzi aici

    EasyGUI Continuare Anulare Caseta
  4. Dacă opțiunile casetei încorporate nu vă oferă ceea ce aveți nevoie, creați o casetă de butoane personalizată folosind cutie de butoane caracteristică. Acest lucru este grozav 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ă:

    din import easygui *
    import time msg = "Ce sos ai dori?"
    alegeri = ["Ușoară","Fierbinte","Extra fierbinte"]
    răspuns = casetă de butoane (mesaj, alegeri = alegeri) dacă răspuns == „Ușor”:
    tipăriți răspunsul
    dacă răspuns == „Fierbinte”:
    tipăriți răspunsul
    dacă răspuns == „Extra fierbinte”:
    tipăriți răspunsul

    EasyGUI Buttonbox
  5. Butoanele sunt grozave, dar pentru liste lungi de opțiuni, a caseta de alegere are sens. Aceste casete listează opțiunile disponibile în rânduri, una după alta. Un Bine și Anulare cutia este în lateral. Acestea sunt destul de inteligente, sortând opțiunile în ordine alfabetică și, de asemenea, vă permit să apăsați o tastă pentru a trece la prima opțiune a acelei litere.

    Iată un exemplu care arată zece nume, despre care puteți vedea că au fost sortate în captură de ecran.

    din import easygui *
    timpul de import
    msg ="Cine a dat afară câinii?"
    title = „Câini dispăruți”
    alegeri = ["Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"]
    choice = caseta de alegere (mesaj, titlu, alegeri)

    Caseta de alegere EasyGUI
  6. Formularele sunt o modalitate excelentă de a captura date pentru proiectul dvs. EasyGUI are un multenterbox opțiune care vă permite să afișați câmpuri etichetate pentru a obține informații.

    Este un caz de etichetare a câmpurilor și de captare a intrării. Exemplul de mai jos este pentru un simplu formular de înscriere pentru abonament la sală.

    Există opțiuni pentru a adăuga validare și alte funcții avansate, pe care site-ul EasyGUI le acoperă în detaliu.

    din import easygui *
    timpul de import
    msg = "Informații despre membru"
    title = „Formular de membru la sală”
    fieldNames = ["Prenumele","Numele","Vârsta","Greutatea"]
    fieldValues ​​= [] # valorile inițiale
    fieldValues ​​= multenterbox (msg, title, fieldNames)
    print fieldValues

    EasyGUI Multenterbox
  7. Puteți adăuga imagini la interfețele dvs. EasyGUI incluzând o cantitate minimă de cod. Salvați o imagine în Raspberry Pi în același director cu scriptul EasyGUI și notați numele și extensia fișierului (de exemplu, imagine1.png).

    Folosind caseta de butoane ca exemplu:

    din import easygui *
    timpul de import
    imagine = „RaspberryPi.jpg”
    msg = "Este acesta un Raspberry Pi?"
    alegeri = ["Da","Nu"]
    raspuns = caseta de butoane (mesaj, imagine=imagine, alegeri=alegeri)
    dacă răspuns == „Da”:
    tipăriți „Da”
    altceva:
    tipăriți „Nu”

    Imagini EasyGUI

Funcții mai avansate

Există mai multe opțiuni de cutie și exemple disponibile, în funcție de cât de mult doriți să învățați și de ce necesită proiectul dvs.

Parola EasyGUI

Casetele pentru parole, casetele de cod și casetele de fișiere sunt disponibile, pentru a numi câteva. Este o bibliotecă versatilă care este ușor de preluat în câteva minute, cu câteva posibilități excelente de control hardware.

Dacă doriți să învățați cum să codificați alte lucruri precum Java, HTML sau altele, consultați cele mai bune resurse de codare online disponibile.