Dodavanje grafičkog korisničkog sučelja (GUI) u vaš projekt Raspberry Pi sjajan je način uključivanja zaslona za unos podataka, gumbi na zaslonu za kontrolu ili čak pametniji način prikazivanja očitanja od komponenata kao što su senzori.
01 od 10Napravite sučelje za svoj projekt
Postoji niz različitih metoda GUI dostupnih za maline Pi, međutim, većina ima strmu krivulju učenja.
Sučelje Tkinter Pythona može biti zadana opcija "go-to" za većinu, no početnici se mogu boriti s njegovom složenosti. Slično tome, biblioteka PyGame nudi mogućnosti za stvaranje impresivnih sučelja, ali može biti višak zahtjevima.
Ako tražite jednostavno i brzo sučelje za svoj projekt, EasyGUI bi mogao biti odgovor. Ono što nedostaje u grafičkoj ljepoti čini više nego što se čini u svojoj jednostavnosti i jednostavnosti upotrebe.
Ovaj vam članak donosi uvod u biblioteku, uključujući neke od najkorisnijih opcija koje smo pronašli.
Nastavite čitati ispod
02 od 10Preuzimanje i uvoz EasyGUI
Za ovaj članak upotrebljavamo standardni Raspbian operativni sustav.
Instaliranje knjižnice bit će već poznati postupak, koristeći metodu "apt-get install". Trebat će vam internetska veza na Raspberry Pi, koristeći bilo žičanu Ethernet ili WiFi vezu.
Otvorite prozor terminala (ikonu crnog zaslona na programskoj traci Pi) i unesite sljedeću naredbu:
apt-get instalirajte python-easygui
Ova naredba će preuzeti biblioteku i instalirati ga za vas, a to je sve što trebate učiniti. Nastavite čitati ispod EasyGUI mora biti uvezen u skriptu prije nego što možete koristiti njegove funkcije. To se postiže unosom jedne crte na vrh skripte i jednako je bez obzira na opcije EasyGUI sučelja koje koristite. Stvorite novu skriptu unosom sljedeće naredbe u svoj terminalni prozor: sudo nano easygui.py
Pojavit će se prazan zaslon - ovo je vaša prazna datoteka (nano je jednostavno naziv uređivača teksta). Da biste uvezli EasyGUI u skriptu, unesite sljedeću retku: od easygui uvoza *
Koristimo ovu specifičnu verziju uvoza kako bismo kasnije lakše olakšali kodiranje. Na primjer, prilikom uvoza ove ewe, umjesto da trebate napisati "easygui.msgbox" možemo jednostavno upotrijebiti "msgbox". Sad pokrivamo neke od ključnih mogućnosti sučelja unutar EasyGUI. Ovaj "okvir za poruke", u svom najjednostavnijem obliku, daje korisniku liniju teksta i jednim pritiskom gumba. Slijedi primjer pokušaja - unesite sljedeći redak nakon uvezene linije i spremite ga Ctrl + X: msgbox ("Cool box huh?", "Ja sam okvir za poruke")
Da biste pokrenuli skriptu, upotrijebite sljedeću naredbu: sudo python easygui.py
Trebao bi se pojaviti okvir s porukom, sa Ja sam okvir za poruke napisano na vrhu trake i Cool box ne? iznad gumba. Nastavite čitati ispod Ponekad ćete morati potvrditi radnju ili odabrati hoće li nastaviti. Kutija "ccbox" nudi istu liniju teksta kao i gornji okvir za poruke, ali nudi 2 gumba - Nastaviti i Otkazati. Evo primjera jednog u uporabi, s gumbima za nastavak i otkazivanje koji se ispisuju na terminal. Možete promijeniti akciju nakon svakog gumba da biste učinili sve što vam se sviđa: od easygui uvoza *uvozno vrijememsg = "Želite li nastaviti?"title = "Nastavi?"ako ccbox (msg, naslov): # prikazuje dijaloški okvir Nastavi / Otkaži print "Korisnik odabran nastavak" # Dodajte druge naredbe ovdje drugo: # korisnik odabrao je Odustani ispisati "Korisnik je otkazan" # Dodajte druge naredbe ovdje 06 od 10 Ako opcije ugrađenih okvira ne daju baš ono što trebate, možete stvoriti prilagođeni okvir za gumbe pomoću značajke gumba "gumb". Ovo je sjajno ako imate više opcija koje treba pokriti ili možda upravljaju s više LED dioda ili drugih komponenti s korisničkim sučeljem. Evo primjera odabira umaka za narudžbu: od easygui uvoza *vrijeme uvoza msg = "Koji umak želite?"choices = "Blage", "Hot", "Extra Hot"odgovor = gumb za gumb (msg, izbor = izbor) ako odgovorite == "Blaga": odgovor ispisaako odgovor == "Hot": odgovor ispisaako je odgovor == "Extra Hot": odgovor ispisa
Nastavite čitati ispod Gumbi su sjajni, ali za dugačke popise opcija, "izborni okvir" ima puno smisla. Pokušajte staviti 10 gumba u kutiju i uskoro ćete se složiti! Ove okvire opisuju dostupne opcije u redovima jedan za drugim, s okvirom "OK" i "Cancel" na stranu. Razumljivo su pametni, razvrstavaju abecednim redom opcije i omogućuju vam da pritisnete tipku da biste prešli na prvu opciju tog slova. Evo primjera koji prikazuje deset imena, koje možete vidjeti razvrstani u snimku zaslona. od easygui uvoza *uvozno vrijememsg = "Tko je pustio pse?"title = "Nestali psi"odabir = "Alex", "Mačka", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"izbor = izborni okvir (msg, naslov, izbor) 08 od 10 Obrasci su odličan način za snimanje podataka za vaš projekt, a EasyGUI ima opciju "multenterbox" koja vam omogućuje prikazivanje označenih polja za snimanje informacija. Još jednom to je slučaj označavanja polja i jednostavno hvatanje ulaz. Napravili smo primjer u nastavku za vrlo jednostavnu prijavu za članstvo u teretani. Postoje opcije za dodavanje validacije i drugih naprednih značajki koje EasyguI web stranica detaljno pokriva. od easygui uvoza *uvozno vrijememsg = "Informacije članova"title = "Obrazac za članstvo u teretani"fieldNames = "Ime", "Prezime", "Dob", "Težina"fieldValues = # početne vrijednostifieldValues = multenterbox (msg, naslov, naziv polja)ispis poljaValues Nastavite čitati ispod Možete dodati slike na EasyGUI sučelja uključivanjem vrlo male količine koda. Spremite sliku u Raspberry Pi u istom direktoriju kao i EasyGUI skripta i zapišite naziv datoteke i proširenje (na primjer, image1.png ). Kao primjer koristimo okvir za gumbe: od easygui uvoza *uvozno vrijemeimage = "RaspberryPi.jpg"msg = "Je li ovo malina Pi?"choices = "Da", "Ne"odgovor = gumb za gumb (msg, slika = slika, izbor = izbor)ako odgovor == "Da": Ispis "Da"drugo: Ispis "Ne" 10 od 10 Ovdje smo pokrili glavne "osnovne" EasyGUI opcije da biste započeli, no postoji mnogo više mogućnosti okvira i primjeri ovisno o tome koliko želite saznati i što vaš projekt zahtijeva. Lozinke, kutije s kodovima, pa čak i kutije s datotekama dostupne su za nazivanje nekoliko. To je vrlo svestrana knjižnica koja je lako pokupiti u nekoliko minuta, uz neke velike mogućnosti hardver kontrole kao dobro. Ako želite naučiti kako kodirati druge stvari kao što su Java, HTML ili više, možete vidjeti najbolje dostupne resurse za kodiranje na mreži. Uvoz EasyGUI
Osnovni okvir za poruke
Nastavi ili Odustani okvir
Prilagođeni gumb za gumb
Izbor Box
Polje za unos podataka
Dodavanje slika
Više naprednih značajki