Dodavanje grafičkog korisničkog interfejsa (GUI) vašem projektu Raspberry Pi je odličan način uključivanja ekrana za unos podataka, dugmadi na ekranu za kontrolu ili čak i pametniji način prikazivanja očitavanja od komponenti kao što su senzori.
01 od 10
Napravite interfejs za svoj projekat
Postoji nekoliko različitih GUI metoda koje su na raspolaganju za Raspberry Pi, međutim, većina ima strme krivice za učenje.
Tkinter Python interfejs može biti defaultna opcija "idi na" za većinu, međutim, početnici se mogu boriti s njegovom složenošću. Slično tome, PyGame knjižnica nudi opcije za izradu impresivnih interfejsa, ali može biti višak zahteva.
Ako tražite jednostavan i brz interfejs za vaš projekat, EasyGUI bi mogao biti odgovor. Ono što mu nedostaje u grafičkoj lepoti više se ne uklapa u jednostavnosti i jednostavnosti korišćenja.
Ovaj članak će vam dati uvod u biblioteku, uključujući i neke od najkorisnijih opcija koje smo pronašli.
02 od 10
Preuzimanje i uvoz EasyGUI
Za ovaj članak koristimo standardni Raspbian operativni sistem koji je dostupan ovdje.
Instaliranje biblioteke biće poznat proces većini, koristeći metod "apt-get install". Treba vam internetska veza na vašem Raspberry Pi, koristeći žičanu Ethernet ili WiFi vezu.
Otvorite prozor terminala (ikona crnog ekrana na traci zadataka Pi) i unesite sledeću komandu:
apt-get install python-easyguiOva naredba će preuzeti biblioteku i instalirati je za vas, i to je sve postavke koje trebate uraditi.
03 od 10
Import EasyGUI
EasyGUI mora biti uvezen u skriptu pre nego što možete koristiti svoje funkcije. Ovo se postiže unosom jedne linije na vrhu vaše skripte i jednaka je bez obzira na koje opcije EasyGUI interfejsa koristite.
Kreirajte novu skriptu upisivanjem sledeće naredbe u prozor terminala:
sudo nano easygui.pyPojaviće se prazan ekran - ovo je vaša prazna datoteka (nano je jednostavno ime uređivača teksta). Da biste importirali EasyGUI u vašu skriptu, unesite sledeću liniju:
od easygui importa *Ovu specifičnu verziju uvoza koristimo za još lakše kodiranje. Na primjer, prilikom uvoza ovoga, umjesto da pišete 'easygui.msgbox' možemo jednostavno koristiti 'msgbox'.
Sada pokrivamo neke od ključnih opcija interfejsa u programu EasyGUI.
04 od 10
Osnovna poruka
Ovo polje za poruke, u najjednostavnijem obliku, daje korisniku liniju teksta i jedno dugme za klik. Evo primera za pokušaj - unesite sljedeću liniju posle linije uvoza i sačuvajte pomoću Ctrl + X:
msgbox ("Cool box ah?", "Ja sam Poruka")Da biste pokrenuli skriptu, koristite sledeću komandu:
sudo python easygui.pyTrebalo bi da se pojavi okvir za poruku, sa 'Ja sam Poruka poruka' napisana u gornjem baru, i 'Cool box, a ne?' iznad dugmeta.
05 od 10
Nastavite ili Otkaži polje
Ponekad će vam trebati korisnik da potvrdi akciju ili da odaberete da li ćete nastaviti ili ne. Kutija 'ccbox' nudi istu liniju teksta kao osnovno polje za poruke iznad, ali sadrži 2 dugmeta - 'Nastaviti' i 'Otkaži'.
Evo primera jednog koji se koristi, dok su tasteri za nastavak i otkazivanje štampali na terminal. Možete promeniti akciju nakon svakog pritiska tastera da uradite šta god želite:
od easygui import * import time msg = "Da li želite da nastavite?" title = "Nastavi?" ako ccbox (msg, title): # prikazuje dijalog "Nastaviti / Otkaži" "izabrani korisnik nastavi" # Dodati druge naredbe ovdje: # korisnik izabrao Otkaži štampanje "Korisnik je otkazan" # Dodajte druge komande ovdje06 od 10
Custom Button Box
Ako ugrađene opcije okvira ne pružaju dovoljno šta vam je potrebno, možete kreirati prilagođeni okvir za kutije koristeći funkciju 'dugme'.
Ovo je sjajno ako imate više opcija koje treba pokrivati, ili možda kontrolišete broj LED ili drugih komponenti pomoću UI-ja.
Evo primera selekcije sosa za porudžbinu:
od easygui import * import time msg = "Koji sos želite?" izbor = = "Mild", "Hot", "Extra Hot"] odgovori = dugme (msg, choices = choices) ako odgovor == "Mild": odgovor ispisa ako odgovor == "Hot": odgovor ispisa ako odgovor == "Extra Hot": odgovor na ispis07 od 10
Izbor kutije
Dugmad su sjajne, ali za duge liste opcija, izborna kutija ima puno smisla. Isprobajte 10 tastera u kutiji i uskoro ćete se složiti!
Ove kutije navode dostupne opcije u redovima jedan za drugim, sa okom 'OK' i 'Cancel' na stranu. Oni su razumno pametni, sortiranje opcija po abecedi i takođe vam omogućavaju da pritisnete taster da biste prešli na prvu opciju tog slova.
Evo primera koji prikazuje deset imena, koje možete vidjeti je sortirano na ekranu.
od easygui import * import time msg = "Ko je pustio pse?" title = "Izgubljeni psi" izbori = izbor "Alex", "Mačka", "Majkl", "Džejms", "Albert", "Fil", "Yasmin", "Frank", "Tim", "Hana" = izborni sandučić (msg, naslov, izbori)08 od 10
Kutija za unos podataka
Obrasci su odličan način za hvatanje podataka za vaš projekat, a EasyGUI ima opciju 'multenterbox' koja vam omogućava prikazivanje obeleženih polja za sakupljanje podataka.
Još jednom to je slučaj sa etiketiranjem polja i jednostavno snimanjem ulaza. Napravili smo primer ispod za formular za prijavu članstva u teretani.
Postoje opcije za dodavanje validacije i druge napredne funkcije, koje EasyGUI veb lokacija pokriva detaljno.
from easygui import * import time msg = "Informacije o članu" title = "Formular za članstvo u Gymu" fieldNames = ["Ime", "Prezime", "Starost", "Težina"] fieldValues = [] # početne vrednosti fieldValues = multenterbox (msg, title, fieldNames) Print fieldValues09 od 10
Dodavanje slika
Možete dodati slike na svoje EasyGUI interfejse uključivanjem vrlo male količine koda.
Sačuvajte sliku u vašu Raspberry Pi u istom imeniku kao i vašu EasyGUI skriptu i zabeležite ime datoteke i ekstenziju (na primjer, image1.png).
Koristimo dugme kao primer:
from easygui import * import time image = "RaspberryPi.jpg" msg = "Da li je ovo malina Pi?" izbori = ["Da", "Ne"] reply = buttonbox (msg, slika = slika, izbori = izbori) ako odgovor == "Da": ispis "Da" drugo:10 od 10
Više naprednih funkcija
Pokrivali smo glavne 'osnovne' EasyGUI opcije ovde da biste započeli, međutim, postoji puno više opcija i primjera polja u zavisnosti od toga koliko želite da naučite i šta vam je vaš projekat potreban.
Dostupne su lozinke, kutije sa šiframa, pa čak i datoteke sa imenom. To je veoma svestrana biblioteka koja se lako može pokupiti za nekoliko minuta, uz neke odlične mogućnosti kontrole hardvera.
Ako želite naučiti kako kodirati druge stvari kao što su Java, HTML ili više, ovdje su najbolji online izvorni kodovi dostupni.