Skip to main content

Napravite jednostavne GUI pomoću maline Pi pomoću EasyGUI

DIY Arduino Ambilight RGB WS2812b Full Build & How-To (Travanj 2025)

DIY Arduino Ambilight RGB WS2812b Full Build & How-To (Travanj 2025)
Anonim

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 10

Napravite 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 10

Preuzimanje 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

03 od 10

Uvoz EasyGUI

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.

04 od 10

Osnovni okvir za poruke

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

05 od 10

Nastavi ili Odustani okvir

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

Prilagođeni gumb za gumb

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

07 od 10

Izbor Box

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

Polje za unos podataka

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

09 od 10

Dodavanje slika

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

Više naprednih značajki

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.