Graafisen käyttöliittymän (GUI) lisääminen Raspberry Pi -projektiin on erinomainen tapa sisällyttää näyttöön tietojen syöttö, näytön painikkeet ohjaimille tai jopa vain älykkäämpi tapa näyttää lukemia komponentteja, kuten antureita.
01/10
Tee käyttöliittymä projektille
Raspberry Pi: lla on useita erilaisia GUI-menetelmiä, mutta useimmilla on jyrkkä oppimiskäyrä.
Tkinter Python -rajapinta voi olla useimmilleen oletusarvoinen "go to" -vaihtoehto, mutta aloittelijat voivat kamppailla sen monimutkaisuudesta. Samoin PyGame-kirjasto tarjoaa mahdollisuuksia tehdä vaikuttavia rajapintoja, mutta voi olla vaatimusten ylituotanto.
Jos etsit hankkeen yksinkertaista ja nopeaa käyttöliittymää, EasyGUI voi olla vastaus. Graafisen kauneuden puuttuessa se on enemmän kuin sen yksinkertaisuus ja helppokäyttöisyys.
Tässä artikkelissa tutustutaan kirjastoon, johon sisältyy joitain hyödyllisiä vaihtoehtoja, jotka olemme löytäneet.
02/10
EasyGUI: n lataaminen ja tuominen
Tässä artikkelissa käytämme tavallista Raspbian-käyttöjärjestelmää, joka on saatavilla täällä.
Kirjaston asentaminen on tuttu prosessi useimmille, käyttäen 'apt-get install' -menetelmää. Tarvitset internetyhteyden Raspberry Pi: ssä käyttämällä joko kiinteää Ethernet- tai WiFi-yhteyttä.
Avaa pääteikkuna (Pi-tehtäväpalkin mustan näytön kuvake) ja syötä seuraava komento:
apt-get asenna python-easyguiTämä komento lataa kirjaston ja asentaa sen sinulle, ja tämä on kaikki asetukset, jotka sinun on tehtävä.
03/10
Tuo EasyGUI
EasyGUI on tuotava komentosarjaan, ennen kuin voit käyttää sen toimintoja. Tämä saavutetaan syöttämällä yksi rivi komentosarjan yläosaan ja se on sama riippumatta siitä, mitä EasyGUI-liitäntävaihtoehtoja käytät.
Luo uusi käsikirja kirjoittamalla seuraavan komennon pääteikkunaan:
sudo nano easygui.pyNolla näyttö tulee näkyviin - tämä on tyhjää tiedostoasi (nano on yksinkertaisesti tekstieditorin nimi). Voit tuoda EasyGUI: n käsikirjoitustasi syöttämällä seuraavan rivin:
easygui-tuonnista *Käytämme tätä tuoteluettelon erityistä versiota koodauksen tekemiseksi entistä helpommin myöhemmin. Esimerkiksi tuotaessa tätä ewayä, sen sijaan, että kirjoittaisimme "easygui.msgbox", voimme yksinkertaisesti käyttää msgboxia.
Katetaan nyt joitain EasyGUI: n tärkeimpiä käyttöliittymäasetuksia.
04/10
Perusviestikenttä
Tämä viestiruutu, sen yksinkertaisimmassa muodossa, antaa käyttäjälle tekstirivin ja yhden painikkeen napsauttamalla. Seuraavassa on esimerkki yrittääksesi - syötä seuraava rivi tuontiviivan jälkeen ja tallenna käyttäen Ctrl + X:
msgbox ("Cool box huh?", "Minä olen Message Box")Käytä komentosarjaa käyttämällä seuraavaa komentoa:
sudo python easygui.pySinun pitäisi nähdä ilmoitusruutu, jossa on yläreunassa kirjoitettu 'Olen viestikenttä' ja 'Cool box huh?' painikkeen yläpuolella.
05/10
Jatka tai Peruuta-ruutu
Joskus käyttäjän on vahvistettava toiminto tai päätettävä, jatketaanko vai ei. "Ccbox" -ruutu tarjoaa saman tekstirivin kuin yllä oleva perusviestiruutu, mutta siinä on kaksi painiketta - "Jatka" ja "Peruuta".
Tässä on esimerkki yhdestä käytössä olevasta, ja jatkuu ja peruuta painikkeet tulostimeen päätelaitteelle. Voit muuttaa toimintoa jokaisen painikkeen painamisen jälkeen tehdäksesi mitä haluat:
from easygui tuonti * tuonti aika msg = "Haluatko jatkaa?" title = "Jatka?" jos ccbox (msg, otsikko): # näytä Continue / Cancel -valintaikkuna print "Käyttäjä valittu jatkaa" # Lisää muita komentoja tässä muualla: # käyttäjä valitsi Cancel print "User canceled" # Lisää muita komentoja täällä06/10
Custom Button Box
Jos sisäänrakennetut ruutuasetukset eivät anna sinulle tarpeeksi, voit luoda mukautetun ruutuikkunan "buttonbox" -ominaisuuden avulla.
Tämä on hienoa, jos sinulla on enemmän vaihtoehtoja, jotka tarvitsevat kattavan tai ehkä ohjaavat lukuisia LEDejä tai muita komponentteja käyttöliittymällä.
Seuraavassa esimerkki valitaan kastike tilauksesta:
from easygui tuonti * tuonti aika msg = "Mikä kastike haluat?" vastaus == "Mild": tulosta vastaus, jos vastaus == "Kuuma": tulosta vastaus, jos vastaus == "hot", "extra hot"] answer = buttonbox (msg, choices = choices) "Extra Hot": tulosta vastaus07/10
Choice Box
Painikkeet ovat hyviä, mutta pitkän valikoiman vaihtoehdoista "valintalaatikolla" on paljon järkeä. Yritä valita 10 painiketta laatikossa ja pian sopii!
Näissä ruutuissa luetellaan käytettävissä olevat vaihtoehdot rivissä peräkkäin, 'OK' ja 'Peruuta' laatikko sivulle. He ovat kohtuullisen älykkäitä, lajittelevat vaihtoehtoja aakkosjärjestyksessä ja antavat myös painallusnäppäimen siirtyä ensimmäisen kirjeenvaihtoon.
Tässä on esimerkki kymmenestä nimestä, jotka näet on lajiteltu kuvakaappauksessa.
from easygui tuonti * tuonti aika msg = "Kuka päästää koirat ulos?" title = "Missing Dogs" valinnat = ["Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah" = valintabox (msg, otsikko, valinnat)08 of 10
Data Entry Box
Lomakkeet ovat loistava tapa hankkia tietoja hankkeestasi, ja EasyGUI: lla on "monipakettisovellus" -vaihtoehto, jonka avulla voit näyttää merkittyjä kenttiä tietojen keräämiseksi.
Jälleen kerran on kyse merkintäkentistä ja yksinkertaisesti syötteen syöttäminen. Olemme esittäneet esimerkin alla yksinkertaisen kuntosalin jäsenyyden ilmoittautumislomakkeelle.
Valintaa ja muita lisäominaisuuksia voidaan lisätä EasyGUI-verkkosivustolla yksityiskohtaisesti.
from easygui tuonti * tuonti aika msg = "jäsenen tiedot" title = "kuntosyyden jäsenmalli" fieldNames = ["Etunimi", "Sukunimi", "Ikä", "Paino"] fieldValues = [] # Aloitusarvot fieldValues = (msg, nimi, kentänNimet) print fieldValues09/10
Kuvien lisääminen
Voit lisätä kuvia EasyGUI-rajapintoihin sisällyttämällä hyvin pienen määrän koodia.
Tallenna kuva Raspberry Pi -ohjelmaan samaan hakemistoon kuin EasyGUI-skripti ja kirjoita tiedostonimi ja -laajennus (esimerkiksi image1.png).
Käytetään esimerkiksi painiketta:
from easygui tuonti * tuonti aika image = "RaspberryPi.jpg" msg = "Onko tämä Vadelma Pi?" Vastaa == "Yes": print "Yes" else: print "No" = answer.svg = "Kyllä": vastaus = buttonbox (msg, image = image, choices = choices)10/10
Edistyneempiä ominaisuuksia
Olemme päässeet tärkeimpiin "perus" EasyGUI-optioihin, jotta pääset alkuun, mutta käytettävissä on paljon enemmän vaihtoehtoja ja esimerkkejä riippuen siitä, kuinka paljon haluat oppia ja mitä projekti tarvitsee.
Salasanalaatikoita, koodikenttiä ja jopa tiedostoruutuja ovat käytettävissä muutamia. Se on erittäin monipuolinen kirjasto, joka on helppo noutaa muutamassa minuutissa, ja myös hienoja laitteiston ohjausmahdollisuuksia.
Jos haluat oppia koodaamaan muita asioita, kuten Java, HTML tai enemmän, tässä ovat parhaat käytettävissä olevat online-koodausresurssit .