Napravite jednostavne GUI sa malinom Pi koristeći EasyGUI

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

EasyGUI je brz i jednostavan projekat koji će pokušati ovog vikenda. Richard Saville

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

EasyGUI instalacija je jednostavna sa metodom 'apt-get install'. Richard Saville

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-easygui

Ova naredba će preuzeti biblioteku i instalirati je za vas, i to je sve postavke koje trebate uraditi.

03 od 10

Import EasyGUI

Uvoz EasyGUI-a traje samo jednu liniju. Richard Saville

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.py

Pojavić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

Jednostavno polje za poruke je odličan način za pokretanje EasyGUI-a. Richard Saville

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.py

Trebalo 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

Polje za nastavak / Otkaži može dodati potvrdu vašim projektima. Richard Saville

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 ovdje

06 od 10

Custom Button Box

'Tasteri' vam omogućavaju da izaberete opcije prilagođenih dugmadi. Richard Savlle

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 ispis

07 od 10

Izbor kutije

Izbor za izbor je odličan za duge liste stavki. Richard Saville

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

'Multenterbox' vam omogućava da snimate podatke od korisnika. Richard Saville

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 fieldValues

09 od 10

Dodavanje slika

Dodajte slike u svoje kutije na potpuno novi način korištenja GUI-a. Richard Saville

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

Ne možete da pravite sisteme plaćanja pomoću programa EasyGUI, ali možete se zabaviti pretvarajući se !. Richard Saville

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.