Skip to main content

Make Simple GUIs z Raspberry Pi z uporabo EasyGUI

Anonim

Dodajanje grafičnega uporabniškega vmesnika (GUI) za vaš projekt Raspberry Pi je odličen način za vključitev zaslona za vnos podatkov, gumbov na zaslonu za nadzor ali celo pametnejši način prikazovanja odčitkov iz komponent, kot so senzorji.

01 od 10

Izdelajte vmesnik za vaš projekt

Obstajajo številne različne metode GUI, ki so na voljo za Raspberry Pi, vendar pa imajo večinoma strmo učno krivuljo.

Tkinter vmesnik Tkinter Python je lahko privzeta možnost "go-to" za večino, vendar pa se začetniki lahko z njo zapletajo. Podobno knjižnica PyGame ponuja možnosti za ustvarjanje impresivnih vmesnikov, vendar je lahko presežek zahtev.

Če iščete preprost in hiter vmesnik za vaš projekt, bi lahko bil odgovor EasyGUI. Kar mu manjka v grafični lepoti, je več kot le-to v preprosti in enostavni uporabi.

Ta članek vam bo predstavil knjižnico, vključno z nekaterimi najbolj uporabnimi možnostmi, ki smo jih našli.

Nadaljuj branje spodaj

02 od 10

Prenos in uvoz EasyGUI

V tem članku uporabljamo standardni operacijski sistem Raspbian.

Nameščanje knjižnice bo najbolj poznano, z uporabo metode "apt-get install". Potrebovali boste internetno povezavo na vašem Raspberry Pi, bodisi z žično povezavo Ethernet ali WiFi.

Odprite terminalsko okno (ikona črnega zaslona na opravilni vrstici Pi) in vnesite ta ukaz:

apt-get namestite python-easygui

Ta ukaz bo prenesel knjižnico in ga namestil za vas, in to je vsa nastavitev, ki jo morate storiti.

Nadaljuj branje spodaj

03 od 10

Uvozi EasyGUI

EasyGUI je treba uvoziti v skript, preden lahko uporabite njegove funkcije. To dosežete tako, da v zgornji del skripte vnesete eno vrstico in je enako, ne glede na možnosti vmesnika EasyGUI, ki jih uporabljate.

Ustvarite nov skript tako, da v oknu terminala vnesete naslednji ukaz:

sudo nano easygui.py

Pojavi se prazen zaslon - to je vaša prazna datoteka (nano je preprosto ime urejevalnika besedil). Če želite uvoziti EasyGUI v svoj skript, vnesite naslednjo vrstico:

iz easygui uvoza *

To specifično različico uvoza uporabljamo za kasnejše kodiranje. Na primer, ko uvozimo tole, namesto da bi napisali "easygui.msgbox" lahko preprosto uporabimo "msgbox".

Zdaj pokrijemo nekaj ključnih možnosti vmesnika v programu EasyGUI.

04 od 10

Osnovno polje za sporočila

Ta »polje za sporočila« v najpreprostejši obliki daje uporabniku vrstico besedila in en gumb, da klikne. Tukaj je primer za poskusiti - vnesite naslednjo vrstico po uvozni liniji in shranite z uporabo Ctrl + X:

msgbox ("Cool box huh?", "Jaz sem Message Box")

Če želite zagnati skript, uporabite ta ukaz:

sudo python easygui.py

Prikaže se okno s sporočilom Jaz sem Message Box napisano v zgornji vrstici, in Cool box, kajne? nad gumbom.

Nadaljuj branje spodaj

05 od 10

Nadaljuj ali Prekliči polje

Včasih boste potrebovali uporabnika, da potrdi dejanje ali izbere, ali naj nadaljuje. Polje »ccbox« ponuja isto vrstico besedila kot zgornje sporočilo sporočila, vendar vsebuje 2 gumba - Nadaljuj in Prekliči.

Tukaj je primer enega, ki ga uporabljate, pri čemer tiskanje terminala nadaljujemo in prekličemo. Po vsakem pritisku gumba lahko spremenite dejanje, da naredite kar koli želite:

iz easygui uvoza *uvozni časmsg = "Želite nadaljevati?"title = "Nadaljuj?"če ccbox (msg, title): # prikaže pogovorno okno Nadaljuj / Prekliči print "Izbrani uporabnik se nadaljuje" # Tu dodajte druge ukaze drugače: # uporabnik je izbral Prekliči natisnite »Uporabnik je preklican« # Tu dodajte druge ukaze 06 od 10

Custom gumb polje

Če vgrajene možnosti polja ne zagotavljajo dovolj, kar potrebujete, lahko z gumbom »gumbna škatla« ustvarite gumb z gumbi po meri.

To je super, če imate več možnosti, ki jih potrebujete, ali morda nadzorujete številne LED ali druge komponente z uporabniškim vmesnikom.

Tukaj je primer izbire omake za naročilo:

iz easygui uvoza *uvozni čas msg = "Katera omaka bi želeli?"izbire = "Blage", "Vroče", "Vroče"odgovor = gumbna vrstica (msg, choices = choices), če je odgovor == "Mild": natisni odgovorče je odgovor == "vroč": natisni odgovorče odgovor == "Extra Hot": natisni odgovor

Nadaljuj branje spodaj

07 od 10

Izbirno polje

Gumbi so super, vendar za dolge sezname možnosti je "izbirna škatla" zelo smiselna. V škatli poskusite namestiti 10 gumbov in kmalu se boste strinjali!

V teh poljih so naštete možnosti, ki so na voljo v vrsticah ena za drugo, na strani pa so polja »OK« in »Prekliči«. So razumno pametni, razvrstite možnosti v abecednem vrstnem redu in dovolite, da pritisnete tipko za preskok na prvo možnost te črke.

Tukaj je primer, ki prikazuje deset imen, ki jih lahko vidite, so bili razvrščeni v posnetek zaslona.

iz easygui uvoza *uvozni časmsg = "Kdo pusti pse ven?"title = "Missing Dogs"izbire = "Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"izbira = izbirna vrstica (msg, naslov, izbire) 08 od 10

Vnos podatkovnega polja

Obrazci so odličen način za zajemanje podatkov za vaš projekt, in EasyGUI ima možnost "multenterbox", ki vam omogoča prikazovanje označenih polj za zajemanje podatkov z.

Še enkrat gre za polja označevanja in preprosto zajemanje vnosa. V nadaljevanju smo predstavili zelo enostavno prijavo za prijavo v telovadnico.

Obstajajo možnosti za dodajanje veljavnosti in druge napredne funkcije, ki jih podrobno pokriva spletna stran EasyGUI.

iz easygui uvoza *uvozni časmsg = "Podatki o članih"title = "Obrazec za članstvo v telovadnici"fieldNames = "Ime", "Priimek", "Starost", "Teža"fieldValues ​​= # izhodne vrednostifieldValues ​​= multenterbox (msg, title, fieldNames)tiskalno poljeValues

Nadaljuj branje spodaj

09 od 10

Dodajanje slik

V vmesnike EasyGUI lahko dodate slike tako, da vključite zelo majhno količino kode.

Shranite sliko na vašo Raspberry Pi v istem imeniku kot skript EasyGUI in zabeležite ime datoteke in razširitev (na primer, image1.png ).

Uporabimo gumb za izbiro gumba kot primer:

iz easygui uvoza *uvozni časimage = "RaspberryPi.jpg"msg = "Ali je to malina Pi?"izbire = "Da", "Ne"reply = gumbna vrstica (msg, slika = slika, izbire = izbire)če odgovor == "Da": natisnite "Da"drugače: natisnite "Ne" 10 od 10

Več naprednih funkcij

Glavne "osnovne" možnosti EasyGUI smo zajeli, da bi začeli, vendar obstaja veliko več možnosti in primerov polj, odvisno od tega, koliko želite izvedeti in kaj vaš projekt potrebuje.

Na voljo so lahko gesla, polja s kodami in celo polja z datotekami. To je zelo vsestranska knjižnica, ki jo je enostavno vzeti v nekaj minutah, z nekaterimi odličnimi možnostmi nadzora strojne opreme.

Če želite izvedeti, kako kodirati druge stvari, kot so Java, HTML ali več, si lahko ogledate najboljše razpoložljive spletne kodirne vire.