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, 10Hozzon 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 a legtöbb, az alapértelmezett "go-to" opció, azonban 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.
Olvass tovább az alábbiakban
02. oldal, 10EasyGUI letöltése és importálása
Ehhez a cikkhez a standard Raspbian operációs rendszert használjuk.
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-easygui
Ez 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. Olvass tovább az alábbiakban 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.py
Megjelenik 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 "msgbox" -ot használjunk. Most fedezzük le az EasyGUI egyik legfontosabb interfész opcióját. Ez az "üzenetablak" a legegyszerűbb formában megadja a felhasználónak egy sor szöveget és egyetlen gombot a kattintáshoz. Íme egy példa a próbálkozásra - írja be az alábbi sort az importvonal után, majd mentse el a felhasználót Ctrl + X: msgbox ("Cool box huh?", "Én vagyok az üzenetdoboz")
A parancsfájl futtatásához használja a következő parancsot: sudo python easygui.py
Meg kell jelennie egy üzenet doboznak a következővel: Én üzenet doboz vagyok írt a felső sávban, és Cool doboz? a gomb felett. Olvass tovább az alábbiakban Előfordulhat, hogy a felhasználónak meg kell erősítenie a műveletet, vagy el kell döntenie, hogy folytatja-e vagy sem. A "ccbox" mező ugyanazt a szövegsorozatot tartalmazza, mint a fenti üzenet, de 2 gomb - Folytatni és Megszünteti. Í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: easygui import *behozatali időmsg = "Szeretné folytatni?"title = "Folytatás?"Ha a ccbox (msg, title): # a Folytatás / Törlés párbeszédpanelt jeleníti meg print "A kiválasztott felhasználó folytatódik" # Adjon hozzá más parancsokat itt Egyéb: # felhasználó választotta a Mégse print "A felhasználó törölve" # Adjon hozzá más parancsokat itt 06. oldal, 10 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: easygui import *import idő msg = "Melyik mártást szeretné?"choices = "Mild", "Hot", "Extra Hot"reply = buttonbox (msg, choices = választás) if reply == "enyhe": nyomtatási válaszha válasz == "Hot": nyomtatási válaszha válasz == "Extra Hot": nyomtatási válasz
Olvass tovább az alábbiakban A gombok nagyszerűek, de a hosszú választási lehetőségek listáján a "választókeret" 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. easygui import *behozatali időmsg = "Ki engedte ki a kutyákat?"title = "Hiányzó kutyák"choices = "Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"választás = választópult (msg, cím, választás) 08. oldal, 10 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. easygui import *behozatali időmsg = "Tag információk"title = "Edzőterem tagsági forma"fieldNames = "Keresztnév", "Családnév", "Kor", "Súly"fieldValues = # a kezdő értékekfieldValues = multenterbox (msg, cím, mezőNames)nyomtatási mezőValues Olvass tovább az alábbiakban 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-nek 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: easygui import *behozatali időimage = "RaspberryPi.jpg"msg = "Ez egy Raspberry Pi?"choices = "Igen", "Nem"reply = gombbox (msg, image = image, choices = választások)ha válasz == "Igen": nyomtassa ki "Igen"más: nyomtassa ki a "Nem" 10/10 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, akkor láthatja a rendelkezésre álló legjobb online kódolási forrásokat. EasyGUI importálása
Alapértelmezett üzenet doboz
A doboz folytatása vagy törlése
Egyéni gombra
Választási doboz
Adatbeviteli mező
Képek hozzáadása
További fejlett funkciók