Grapilise kasutajaliidese (GUI) lisamine teie Raspberry Pi projektile on suurepärane võimalus sisestada ekraan andmete sisestamiseks, ekraaninuppude kontrollimiseks või isegi lihtsam viis näidikute näitamiseks sellistest komponentidest nagu andurid.
01 of 10
Tehke oma projekti jaoks liides
Vaarika Pi jaoks on olemas mitmeid erinevaid GUI meetodeid, kuid enamikul on järsk õppimiskõver.
Tkinteri Pythoni liides võib olla vaikimisi valik "minna" enamusele, kuid algajad saavad selle keerukusega võitlema. Sarnaselt pakub PyGame'i raamatukogu muljetavaldavate liideste tegemise võimalusi, kuid võib olla nõudeid ületav.
Kui otsite oma projekti jaoks lihtsat ja kiiret liidest, võiks see olla vastus EasyGUI-le. Mida sellel puudub graafiline ilu, see on rohkem kui lihtsalt selle lihtsus ja kasutusmugavus.
See artikkel annab ülevaate raamatukogust, sealhulgas mõned kõige levinumaid võimalusi, mida oleme leidnud.
02 of 10
EasyGUI allalaadimine ja importimine
Selle artikli puhul kasutame standardseid Raspbian-operatsioonisüsteeme, mis on siin saadaval.
Kõigepealt tutvustab raamatukogu installiprogrammi, kasutades apt-get installi meetodit. Vaja on Interneti-ühendust oma Raspberry Pi abil kas traadiga Etherneti või WiFi-ühenduse kaudu.
Avage terminali aken (oma Pi-i tegumiribal must ekraan ikoon) ja sisestage järgmine käsk:
apt-get install python-easyguiSee käsk laadib teegi alla ja installib selle teie jaoks, ja see on kõik seadistused, mida peate tegema.
03 of 10
Import EasyGUI-d
Enne funktsiooni kasutamist saate EasyGUI-i importida skripti. See saavutatakse, sisestades oma skripti ülaosas ühe reana ja olenemata sellest, millistest EasyGUI liidese valikutest te kasutate.
Loo uus skript, sisestage oma terminaliaknas järgmine käsk:
sudo nano easygui.pyIlmub tühi kuva - see on teie tühi fail (nano on lihtsalt tekstiredaktori nimi). Et importida EasyGUI oma skripti, sisestage järgmine rida:
alates easygui impordist *Me kasutame seda spetsiifilist impordi versiooni, et muuta kodeerimine veelgi lihtsamaks hiljem. Näiteks selle eway importimise asemel peaksime kirjutama "easygui.msgbox", et saaksime lihtsalt kasutada "msgbox" -t.
Lähme nüüd osa EasyGUI-i põhiliidese valikutest.
04 10-st
Basic Message Box
Selles sõnumikaskas lihtsas vormis annab kasutajale teksti rida ja ühe klõpsu. Siin on näide, mida proovida - sisestage impordiliini järel järgmine rida ja salvestage, kasutades selleks Ctrl + X:
msgbox ("Cool box huh?", "Olen sõnumikast")Skripti käitamiseks kasutage järgmist käsku:
sudo python easygui.pyPeaksite nägema sõnumikast, kus on ülaosas kirjas "Olen sõnumikast" ja "Cool box huh?" nupu kohal.
05 of 10
Jätkake või tühistage lahtrisse
Mõnikord peate kasutajalt toimingu kinnitamiseks või valige, kas jätkata või mitte. Kast "ccbox" pakub sama teksti rida kui põhiline sõnumikk ülaosas, kuid pakub 2 nuppu - "Jätka" ja "Tühista".
Siin on näide kasutatavast üksust, kusjuures jätkake ja tühistage nuppe, et printida terminali. Te võite pärast iga nupu vajutamist toiminguid muuta, et teha kõik, mis sulle meeldib:
alates easygui import * import time msg = "Kas soovite jätkata?" title = "Jätkake?" kui ccbox (msg, title): # näita dialoogi Continue / Cancel (Jätka / tühista) prindi "Kasutaja valitud jätkata" # Lisa siia veel teised käsud: # kasutaja valis Tühista printimine "User canceled" # Lisa veel käske siin06 10-st
Kohandatud nupp
Kui sisseehitatud kasti valikud ei anna teile täpselt vajalikku teavet, saate luua kohandatud nuppude, kasutades funktsiooni "nupp".
See on suurepärane, kui kasutate rohkem võimalusi, mis vajavad kasutajaliidese katmist või võib-olla kontrollida mitut LED-i või muid komponente.
Siin on näide, milles valitakse kaste tellimuse jaoks:
alates easygui impordist * impordiaeg msg = "Milline kastmes soovite?" valikud = ["Kerge", "Kuum", "Väga kuum"] vastus = nuppude (msg, options = options) kui vastus == "Kerge": prindi vastus, kui vastus == "Hot": printida vastus, kui vastus == "Extra Hot": prindi vastus07 of 10
Valikukast
Nupud on suurepärased, kuid pikkade valikute loendite puhul on "valikukast" palju mõtet. Proovige 10 kasti kast ja peate kokku leppima!
Need lahtrid loetlevad olemasolevad valikud ridu üksteise järel, külgedel asuvad kastikesed "OK" ja "Tühista". Nad on mõistlikult nutikad, sorteerides valikuid tähestikulises järjekorras ja samuti lubades vajutada klahvi, et liikuda kirja esimesele valikule.
Siin on näide, mis näitab kümmet nime, mida näete, on ekraanipildis sorteeritud.
alates easygui impordist * impordi aeg msg = "Kes lase koerad välja?" title = "Missing Dogs" choices = ["Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"] valik = optionbox (sõnum, pealkiri, valikud)08 10-st
Andmesisesekraan
Blanketid on suurepärane võimalus oma projekti jaoks andmete salvestamiseks, ja EasyGUI-l on valik "Multifunktsionaalne kast", mis võimaldab kuvada märgistatud välju teabe hankimiseks.
Veel kord on see märgistusväljade puhul ja lihtsalt sisendite hõivamine. Me allpool näitasime väga lihtsa jõusaalis osalemise registreerumise vormi.
EasyGUI veebisaidil on üksikasjalikult võimalik valideerimist ja muid täiustatud funktsioone lisada.
alates easygui impordist * impordiaeg msg = "Liikmeinfo" nimi = "Gym liikmelisuse vorm" fieldNames = ["Eesnimi", "Perekonnanimi", "Vanus", "Kaal]] fieldValues = [] # lähteväärtuste väljale Value = multitenterbox (msg, title, fieldNames) print field Values09 of 10
Piltide lisamine
Saate lisada oma EasyGUI-liidestele pilte, lisades väga väikese koguse koodi.
Salvestage pilt oma Raspberry Pi juurde samasse kataloogi kui teie EasyGUI-skript ning märkige failinimi ja laiendus (näiteks image1.png).
Kasutame näiteks nupuvajutust.
alates easygui impordist * impordi aeg image = "RaspberryPi.jpg" msg = "Kas see on vaarika Pi?" valikud = ["Jah", "Ei"] reply = pocket (msg, image = image, choices = options) if reply == "Yes": print "Yes" else: print "no"10-st 10-st
Veel täiendavaid funktsioone
Oleme siin peamised "põhilised" EasyGUI-i võimalused kaetud, et saaksite alustada, kuid sõltuvalt sellest, kui palju soovite õppida ja mida teie projekt vajab, on palju kasti võimalusi ja näiteid.
Paroolikarbid, koodide kastid ja isegi failide kastid on mõnede nimede jaoks saadaval. See on väga mitmekülgne raamatukogu, mida on mõne minutiga lihtne üles leida ja kus on ka mõningaid suurepäraseid riistvarakontrolli võimalusi.
Kui soovite teada saada, kuidas kodeerida muid asju, nagu Java, HTML või muud, siin on siin parimad võrgukoodid .