Padaryti paprastus GUI su aviečių Pi naudojant EasyGUI

Grafinės vartotojo sąsajos (GUI) įtraukimas į "Raspberry Pi" projektą yra puikus būdas įtraukti duomenų įvedimo ekraną, ekrano mygtukus valdikliams ar net protingesnį būdą rodyti rodmenis iš komponentų, tokių kaip jutikliai.

01 iš 10

Sukurkite sąsają savo projektui

"EasyGUI" yra greitas ir paprastas projektas, kurį norėčiau išbandyti šį savaitgalį. Richard Saville

"Raspberry Pi" yra keletas skirtingų GUI metodų, tačiau dauguma jų turi staigų mokymosi kreivę.

Panaši Tkinter Python sąsaja gali būti numatytasis pasirinkimas "eiti į" daugeliui, tačiau pradedantiesiems gali sunku įveikti sudėtingumą. PyGame biblioteka taip pat siūlo įspūdingų sąsajų pasirinkimo galimybes, bet gali būti perteklių.

Jei ieškote paprastos ir greito sąsajos su savo projektu, "EasyGUI" gali būti atsakymas. Tai, ką jai trūksta grafiniu grožiu, daugiau nei sudaro paprastumas ir patogumas.

Šiame straipsnyje pateiksime įžangą bibliotekoje, įskaitant keletą labiausiai naudingų funkcijų, kurias radome.

02 iš 10

"EasyGUI" atsisiųsti ir importuoti

"EasyGUI" diegimas yra paprastas naudojant "apt-get install" metodą. Richard Saville

Šiame straipsnyje mes naudojame standartinę "Raspbian" operacinę sistemą, kuri yra čia.

"Apt-get install" metodo naudojimas bibliotekos įdiegimui bus žinomas procesas. "Raspberry Pi" reikės prisijungti prie interneto, naudojant laidinį Ethernet arba "Wi-Fi" ryšį.

Atidarykite terminalo langą (juodojo ekrano piktogramą savo Pi užduočių juostoje) ir įveskite šią komandą:

apt-get install python-easygui

Ši komanda atsisiųs biblioteką ir įdiegs ją jums, o tai viskas, ko reikia daryti.

03 iš 10

Importuokite "EasyGUI"

"EasyGUI" importuojama tik viena eilutė. Richard Saville

Prieš naudodamiesi savo funkcijomis, EasyGUI reikia importuoti į scenarijų. Tai pasiekiama įvedant vieną eilutę savo scenarijaus viršuje ir yra ta pati, nepriklausomai nuo to, kokius "EasyGUI" sąsajos parinktis naudojate.

Sukurkite naują scenarijų, į terminalo langą įrašydami šią komandą:

sudo nano easygui.py

Bus rodomas tuščias ekranas - tai tuščias failas (nano yra tiesiog teksto redaktoriaus pavadinimas). Norint importuoti EasyGUI į savo scenarijų, įveskite šią eilutę:

iš easygui importo *

Mes naudojame šią konkrečią importo versiją, kad vėliau būtų lengviau koduoti. Pavyzdžiui, importuojant šią eway, vietoj to, kad rašyti "easygui.msgbox", mes galime tiesiog naudoti "msgbox".

Dabar pateiksime kelias pagrindines "EasyGUI" sąsajos parinktis.

04 iš 10

Pagrindinis žinučių dėžutė

Paprastas pranešimų dėžutė yra puikus būdas pradėti "EasyGUI". Richard Saville

Šis pranešimų langas paprasčiausia forma suteikia vartotojui teksto eilutę ir vieną mygtuką spustelėti. Štai pavyzdys pabandyti - įveskite šią eilutę po importo eilutės ir išsaugokite naudodami Ctrl + X:

msgbox ("Cool box huh?", "Aš esu žinučių dėžutė")

Norėdami paleisti scenarijų, naudokite šią komandą:

sudo python easygui.py

Turėtumėte pamatyti, kad pasirodys pranešimų dėžutė, viršutinėje juostoje parašyta "Aš esu žinučių dėžutė", o "Cool box huh?" virš mygtuko.

05 iš 10

Tęsti arba atšaukti langelį

Lauke Tęsti / Atšaukti galite pridėti patvirtinimą prie savo projektų. Richard Saville

Kartais vartotojui reikės patvirtinti veiksmą arba pasirinkti, ar tęsti. Langelyje "ccbox" yra tokia pati teksto eilutė, kaip ir pagrindinis pranešimų laukelis, bet du mygtukai - "Tęsti" ir "Atšaukti".

Štai pavyzdys, kurį naudojate, tęsdami ir atšaukdami mygtukus spausdinkite į terminalą. Galite pakeisti veiksmą po kiekvieno mygtuko paspaudimo, kad galėtumėte daryti viską, ko jums patinka:

iš easygui importo * importo laikas msg = "Ar norite tęsti?" title = "Tęsti?" jei ccbox (msg, title): # parodyti dialogo langą Tęsti / Atšaukti print "Vartotojo pasirinktas tęsti" # Pridėti kitas komandas čia dar: # naudotojas pasirinko Atšaukti spausdinti "User canceled" # Pridėti kitas komandas čia

06 iš 10

Pasirinktinis mygtukų dėžutė

"Mygtukas" leidžia jums padaryti pasirinktinius mygtukų parinktis. Richard Savlle

Jei integruotoje dėžutės parinktyse ne visada suteikiama tai, ko jums reikia, galite sukurti pasirinktinį mygtukų dėžutę naudodami funkciją "mygtukų dėžutė".

Tai puiku, jei turite daugiau parinkčių, kurios turi apimti arba galbūt valdyti daugybę šviesos diodų arba kitų komponentų su vartotojo sąsaja.

Štai pavyzdys, pagal kurį užsakomas padažas:

nuo easygui importo * importo laikas msg = "Kuris padažas jums tinka?" jei atsakymas == "Švelnus": atspausdinti atsakymą, jei atsakymas == "Karštas": atspausdinti atsakymą, jei atsakymas =========================================================================== "Extra Hot": spausdinti atsakymą

07 iš 10

Pasirinkimo dėžutė

"Choice Box" puikiai tinka ilgesniems prekių sąrašams. Richard Saville

Mygtukai yra puikus, bet ilgiems galimybių sąrašams "pasirinkimo laukelis" yra labai prasmingas. Pabandykite surinkti 10 mygtukų dėžutėje ir netrukus sutiksite!

Šiuose laukeliuose vienas po kito eilutėse pateikiamos galimos parinktys, o langelyje "Gerai" ir "Atšaukti" - šone. Jie pakankamai protingi, rūšiuoti pasirinkimus abėcėlės tvarka ir taip pat leidžiant paspausti klavišą, norėdami pereiti prie pirmosios tos raidės parinkties.

Štai pavyzdys, rodantis dešimt pavadinimų, kuriuos galite matyti, buvo surūšiuoti ekrano kopijoje.

nuo easygui importo * importo laikas msg = "kas išleido šunis?" title = "Trūksta šunų" pasirinkimai = ["Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"] pasirinkimas = choicebox (msg, pavadinimas, pasirinkimai)

08 iš 10

Duomenų įvedimo dėžutė

"Multenterbox" leidžia užfiksuoti naudotojų duomenis. Richard Saville

Blankai yra puikus būdas užfiksuoti jūsų projekto duomenis, o "EasyGUI" turi "multenterbox" parinktį, kuri leidžia rodyti pažymėtus laukus, norint gauti informaciją.

Dar kartą tai yra ženklinimo laukų atvejis ir tiesiog užfiksuokite įvestį. Žemiau pateikiame pavyzdį, kuriame pateikiama labai paprasta registracijos forma treniruoklių salėje.

Yra galimybių pridėti tikrinimo ir kitas papildomas funkcijas, kurias išsamiai aprašo EasyGUI svetainėje.

iš easygui importo * importo laikas msg = "Nario informacija" title = "Gym Narystės formos" fieldNames = ["Vardas", "Pavardė", "Amžius", "Svoris"] fieldValues ​​= [] # pradinių reikšmių laukasValues ​​= multenterbox (msg, title, fieldNames) print fieldValues

09 iš 10

Vaizdų pridėjimas

Įtraukite atvaizdus į savo langelius visiškai naują būdą naudoti GUI. Richard Saville

Galite pridėti vaizdus prie "EasyGUI" sąsajų, įtraukdami labai nedaug kodo.

Išsaugokite paveikslėlį savo "Raspberry Pi" toje pačioje kataloge, kaip ir "EasyGUI" scenarijus, ir įrašykite failo pavadinimą ir plėtinį (pavyzdžiui, image1.png).

Pavyzdžiui, naudokime mygtukų dėžutę.

iš easygui importo * importo laikas image = "RaspberryPi.jpg" msg = "Ar tai yra aviečių py?" Pasirinkus = ["Taip", "Ne"] reply = buttonbox (msg, image = image, choices = options) if reply == "Yes": print "Yes" else: print "No"

10 iš 10

Daugiau papildomų funkcijų

Negalite atlikti "EasyGUI" mokėjimo sistemų, bet galite smagiai apsimesti! Richard Saville

Šiame skyriuje rasite pagrindines "pagrindines" "EasyGUI" parinktis, kad galėtumėte pradėti, tačiau yra daug daugiau dėžutės parinkčių ir pavyzdžių, priklausomai nuo to, kiek norite mokytis ir kokio projekto reikia.

Slaptažodžių langelius, kodų dėžutes ir net failų dėžutes galima pavadinti keliais. Tai labai universalus biblioteka, kurią lengva pasiimti per kelias minutes, taip pat yra puikių aparatūros valdymo galimybių.

Jei norėtumėte sužinoti, kaip koduoti kitus dalykus, pvz., "Java", "HTML" ar dar daugiau, čia rasite geriausius internetinius kodavimo išteklius .