A grafikus felhasználói felület (GUI) hozzáadása a Raspberry Pi projekthez kiváló módja annak, hogy az adatbevitelre, a képernyőn megjelenő gombokat a vezérlőkhöz vagy akár csak intelligensebb módon mutasson le olyan érzékelőkről, mint az érzékelők.
01. oldal, 10
Hozzon létre egy interfészt a projekthez
A Raspberry Pi számára számos különböző GUI módszer létezik, azonban a legtöbbjük meredek tanulási görbével rendelkezik.
A Tkinter Python felület lehet az alapértelmezett "go to" opció a legtöbb számára, de a kezdők küzdenek a komplexitásával. Hasonlóképpen, a PyGame könyvtár lehetőséget nyújt lenyűgöző interfészek létrehozására, de feleslegessé válhat a követelményeknek.
Ha egyszerű és gyors felületet keres a projekthez, az EasyGUI lehet a válasz. Ami hiányzik a grafikai szépségben, többet jelent, mint az egyszerűségét és egyszerű használatát.
Ez a cikk bemutatja Önt a könyvtárnak, beleértve néhány, a leghasznosabb lehetőséget, amit találtunk.
02. oldal, 10
EasyGUI letöltése és importálása
Ehhez a cikkhez a standard Raspbian operációs rendszert használjuk, amely itt érhető el.
A könyvtár telepítése ismerős folyamat lesz a legtöbb esetben az "apt-get install" módszer használatával. A Raspberry Pi-en internet-kapcsolatra van szükség vezetékes Ethernet vagy WiFi kapcsolaton keresztül.
Nyisson meg egy terminál ablakot (egy fekete képernyő ikont a Pi tálcán), és írja be a következő parancsot:
apt-get install python-easyguiEz a parancs letölti a könyvtárat, és telepíti az Ön számára, és ez az összes olyan beállítás, amit meg kell tennie.
03. oldal, 10
EasyGUI importálása
Az EasyGUI-t be kell importálni egy szkriptbe, mielőtt a funkciókat felhasználná. Ezt úgy érhetjük el, hogy egyetlen sorral beírjuk a parancsfájl tetejét, és ugyanolyan, függetlenül attól, hogy mely EasyGUI interfész-beállításokat használjuk.
Hozzon létre egy új parancsfájlt a következő parancs beírásával a terminál ablakában:
sudo nano easygui.pyMegjelenik egy üres képernyő - ez az üres fájl (a nano egyszerűen egy szövegszerkesztő neve). Az EasyGUI beírásához írja be a következő sort:
easygui import *Az importálás ezen speciális verzióját használjuk, hogy a kódolás még később könnyebbé váljon. Például, ha importálod ezt az eway-t, ahelyett, hogy "easygui.msgbox" -ot kellene írni, egyszerűen csak az 'msgbox' szót használhatod.
Most fedezzük le az EasyGUI egyik legfontosabb interfész opcióját.
04. oldal, 10
Alapértelmezett üzenet doboz
Ez az üzenetmező, a legegyszerűbb formában, a felhasználó számára egy szövegsorozatot és egy gombnyomásra kattint. Íme egy példa a próbálkozásra - írja be az alábbi sort az importvonal után, és mentse a Ctrl + X billentyűkombinációval:
msgbox ("Cool box huh?", "Én vagyok az üzenetdoboz")A parancsfájl futtatásához használja a következő parancsot:
sudo python easygui.pyMeg kell jelennie egy üzenetablak, a 'I am a Message Box' ('I am a Message Box') felirat, és a 'Cool box huh?' a gomb felett.
05. oldal, 10
A doboz folytatása vagy törlése
Előfordulhat, hogy a felhasználónak meg kell erősítenie egy műveletet, vagy el kell döntenie, hogy folytatja-e vagy sem. A "ccbox" négyzet ugyanazt a szöveges szöveget tartalmazza, mint a fenti alapüzenetek, de 2 gombbal rendelkezik - "Folytatás" és "Mégsem".
Íme egy példa az egyik használatra, a folytatás és a törlés gombok nyomtatás a terminálon. Az egyes gombok megnyomásával bármikor megváltoztathatja a műveletet:
from easygui import * import time msg = "Szeretné folytatni?" title = "Folytatás?" ha a ccbox (msg, cím): # megjelenik a Folytatás / Törlés párbeszédablak nyomtatása "A kiválasztott felhasználó folytatódik" # Más parancsok hozzáadása itt máshol: # felhasználó választotta Nyomtatás törlése "Felhasználó törölve" # Más parancsok hozzáadása itt06. oldal, 10
Egyéni gombra
Ha a beépített fiók beállításai nem eléggé megadják, amire szüksége van, létrehozhat egy egyéni gombra a "buttonbox" funkció használatával.
Ez nagyszerű, ha több lehetőség van arra, hogy fedezzen, vagy esetleg több LED-et vagy más összetevőt vezérel az UI-val.
Íme egy példa a megrendeléssel kapcsolatos mártás kiválasztására:
from easygui import * import time msg = "Melyik mártást szeretné?" válasz == "Mild": válasz nyomtatása, ha válasz == "Hot": print válasz, ha válasz == "Hot", "Extra Hot"] reply = gombbox (msg, choices = choices) "Extra Hot": nyomtatási válasz07. oldal, 10
Választási doboz
A gombok nagyszerűek, de a hosszú választási lehetőségek listájánál a "választási doboz" sok értelme van. Próbáljon felszerelni 10 dobozt egy dobozba, és hamarosan egyet fog érteni!
Ezek a négyzetek sorban felsorolják a rendelkezésre álló opciókat egymás után, az "OK" és a "Mégse" mező mellé. Rendkívül okosak, abc-sorrendben rendezik az opciókat, és lehetővé teszik, hogy egy billentyűt megnyomva ugorjon az adott levél első opciójához.
Íme egy példa, amelyen tíz nevet jelenít meg, amelyeket láthatóvá rendeztek a képernyőképen.
from easygui import * import time msg = "Ki engedte ki a kutyákat?" title = "Hiányzó kutyák" choices = [Alex, Cat, Michael, James, Albert, Phil, Yasmin, Frank, Tim, = választóbox (msg, cím, választás)08. oldal, 10
Adatbeviteli mező
Az űrlapok nagyszerű módja annak, hogy adatokat gyűjtsenek a projekthez, és az EasyGUI egy "multenterbox" opcióval rendelkezik, amely lehetővé teszi a címkézett mezők megjelenítését az információ rögzítéséhez.
Ismét ez a címke mezők, és egyszerűen rögzíti a bemenetet. Az alábbiakban bemutatunk egy példát egy nagyon egyszerű edzőterem-tagsági bejelentkezéshez.
Vannak olyan lehetőségek, amelyekkel kiegészítheti az érvényesítési és egyéb fejlett szolgáltatásokat, amelyeket az EasyGUI honlap részletesen lefedi.
az easygui import * import ideje msg = "Tag információk" title = "Edzői tagsági űrlap" fieldNames = ["Keresztnév", "Családnév", "Életkor", "Tömeg"] fieldValues = [] # kezdőérték mezőValues = (msg, cím, mezőNames) print fieldValues09. oldal, 10
Képek hozzáadása
Képeket adhat az EasyGUI interfészekhez egy nagyon kis mennyiségű kód hozzáadásával.
Mentse el a képet a Raspberry Pi-be az EasyGUI szkripttel megegyező könyvtárban, és jegyezze fel a fájlnevet és a kiterjesztést (például image1.png).
Használjuk például a gombok egyikét:
from easygui import * import time image = "RaspberryPi.jpg" msg = "Ez egy Raspberry Pi?" válasz: = "yes": print "yes" else: print "No"10/10
További fejlett funkciók
A legfontosabb "egyszerű" EasyGUI opciókat lefedtük, hogy elindulhassunk, azonban sokkal több lehetőség van a dobozokra és a példákra, attól függően, hogy mennyit szeretne megtanulni, és hogy mit vár a projekt.
Jelszó-fiókok, kódrészletek és akár fájlkészletek is elérhetők néhányat megnevezni. Ez egy nagyon sokoldalú könyvtár, amelyet perceken belül könnyű felvenni, és nagyszerű hardver-vezérlési lehetőségek is vannak.
Ha szeretne megtudni, hogyan kódolhat más dolgokat, például a Java, a HTML vagy több, itt találhatók a legjobb online kódolási erőforrások .