Skip to main content

Padaryti paprastus GUI su aviečių Pi naudojant EasyGUI

Anonim

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

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

Panaši Tkinter Python sąsaja gali būti numatytoji "go-to" parinktis daugumai, 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.

Tęsti skaitymą žemiau

02 iš 10

"EasyGUI" atsisiųsti ir importuoti

Šiame straipsnyje mes naudojame standartinę "Raspbian" operacinę sistemą.

Dauguma "bibliotekos" įdiegimo bus žinomi, naudojant "apt-get install" metodą. "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.

Tęsti skaitymą žemiau

03 iš 10

Importuokite "EasyGUI"

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 šį 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ė

Šis "pranešimų dėžutė" paprasčiausia forma suteikia vartotojui teksto eilutę ir vieną mygtuką spustelėti. Štai pavyzdys, kurį reikia pabandyti - įveskite šią eilutę po importo eilutės ir išsaugokite ją 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 pranešimų dėžutę su Aš esu žinučių dėžutė parašyta viršuje juostoje ir Kietas dėžutė huh? virš mygtuko.

Tęsti skaitymą žemiau

05 iš 10

Tęsti arba atšaukti langelį

Kartais vartotojui reikės patvirtinti veiksmą arba pasirinkti, ar tęsti. "Ccbox" langelyje yra tokia pati teksto eilutė, kaip ir pagrindinis pranešimų laukelis, bet pateikiami 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 laikasmsg = "Ar norėtumėte tęsti?"title = "Tęsti?"jei ccbox (msg, title): # parodyti dialogo langą Tęsti / Atšaukti print "Vartotojo pasirinkta tęsti" # Pridėti kitas komandas čia kitaip: # naudotojas pasirinko "Atšaukti" atspausdinti "User canceled" # Pridėti kitas komandas čia 06 iš 10

Pasirinktinis mygtukų dėžutė

Jei integruotoje dėžutės parinktyse ne visada suteikiama tai, ko jums reikia, galite sukurti pasirinktinį mygtukų dėžutę naudodami "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:

iš easygui importo *importo laikas msg = "Kuris padažas norėtumėte?"Pasirinkimai = "Mild", "Hot", "Extra Hot"reply = buttonbox (msg, options = options) if reply == "Lengvas": spausdinti atsakymąjei atsakymas == "Karštas": spausdinti atsakymąjei atsakymas == "Extra Hot": spausdinti atsakymą

Tęsti skaitymą žemiau

07 iš 10

Pasirinkimo dėžutė

Mygtukai yra puikus, bet ilgiems parinkčių 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.

iš easygui importo *importo laikasmsg = "Kas išleido šunis?"title = "Trūksta šunų"Pasirinkimai = "Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"pasirinkimas = pasirinkimo laukas (msg, pavadinimas, pasirinkimai) 08 iš 10

Duomenų įvedimo dėžutė

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 laikasmsg = "Nario informacija"title = "Sporto narystės formos"fieldNames = "Vardas", "Pavardė", "Amžius", "Svoris"fieldValues ​​= # pradinių reikšmiųfieldValues ​​= multenterbox (msg, title, fieldNames)spausdinti fieldValues

Tęsti skaitymą žemiau

09 iš 10

Vaizdų pridėjimas

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 vardą ir plėtinį (pavyzdžiui, image1.png ).

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

iš easygui importo *importo laikasimage = "RaspberryPi.jpg"msg = "Ar tai yra aviečių py?"Pasirinkimai = "Taip", "Ne"reply = buttonbox (msg, image = image, choices = options)jei atsakymas == "Taip": Spausdinti "Taip"Kitas: atspausdinti "ne" 10 iš 10

Daugiau papildomų funkcijų

Mes aprėpėme pagrindines "pagrindines" EasyGUI parinktis čia, 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 tai, ko reikia jūsų projektui.

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 norite sužinoti, kaip koduoti kitus dalykus, pvz., "Java", "HTML" ar dar daugiau, galite pamatyti geriausius interneto kodavimo išteklius.