Ang pagdaragdag ng graphical user interface (GUI) sa iyong proyekto ng Raspberry Pi ay isang mahusay na paraan upang isama ang isang screen para sa entry ng data, mga pindutan sa screen para sa mga kontrol o kahit na isang mas matalinong paraan upang ipakita ang mga pagbabasa mula sa mga bahagi tulad ng mga sensor.
01 ng 10
Gumawa ng isang Interface para sa Iyong Proyekto
Mayroong ilang iba't ibang mga pamamaraan ng GUI na magagamit para sa Raspberry Pi, gayunpaman, karamihan ay may matarik curve sa pag-aaral.
Ang interface ng Tkinter Python ay maaaring ang default na 'pumunta sa' na opsyon para sa karamihan, gayunpaman, ang mga nagsisimula ay nakikipagpunyagi sa pagiging kumplikado nito. Katulad nito, ang PyGame library ay nag-aalok ng mga opsyon para sa paggawa ng mga kahanga-hangang mga interface ngunit maaaring sobra sa mga kinakailangan.
Kung hinahanap mo ang isang simple at mabilis na interface para sa iyong proyekto, ang EasyGUI ay maaaring ang sagot. Kung ano ang kulang sa graphical na kagandahan ito ay higit sa ginagawang para sa pagiging simple at kadalian ng paggamit.
Ang artikulong ito ay magbibigay sa iyo ng pagpapakilala sa library, kabilang ang ilan sa mga pinaka kapaki-pakinabang na mga opsyon na aming natagpuan.
02 ng 10
Pag-download at Pag-import ng EasyGUI
Para sa artikulong ito, ginagamit namin ang standard operating system ng Raspbian na magagamit dito.
Ang pag-install ng library ay magiging pamilyar na proseso sa karamihan, gamit ang 'apt-get install' na paraan. Kakailanganin mo ng koneksyon sa internet sa iyong Raspberry Pi, gamit ang alinman sa wired Ethernet o koneksyon sa WiFi.
Buksan ang isang terminal window (ang icon ng isang itim na screen sa taskbar ng iyong Pi) at ipasok ang sumusunod na command:
apt-get install python-easyguiI-download ng command na ito ang library at i-install ito para sa iyo, at iyon ang lahat ng setup na kailangan mong gawin.
03 ng 10
Mag-import ng EasyGUI
Kailangan ng EasyGUI na ma-import sa isang script bago mo magamit ang mga function nito. Ito ay nakamit sa pamamagitan ng pagpasok ng isang linya sa itaas ng iyong script at pareho ang anuman ng mga pagpipilian ng interface ng EasyGUI na iyong ginagamit.
Lumikha ng isang bagong script sa pamamagitan ng pagpasok ng sumusunod na command sa iyong terminal window:
sudo nano easygui.pyLilitaw ang blangko na screen - ito ang iyong walang laman na file (ang nano ay simpleng pangalan ng isang text editor). Upang i-import ang EasyGUI sa iyong script, ipasok ang sumusunod na linya:
mula sa madaling pag-import ng *Ginagamit namin ang tukoy na bersyon ng pag-import upang gawing mas madali ang coding sa ibang pagkakataon. Halimbawa, kapag nag-import ng eway na ito, sa halip na magsulat ng 'easygui.msgbox' maaari lamang naming gamitin ang 'msgbox'.
Ngayon ay sakop natin ang ilan sa mga pangunahing mga pagpipilian sa interface sa loob ng EasyGUI.
04 ng 10
Pangunahing Mensahe Box
Ang kahon ng mensahe na ito, sa pinakasimpleng anyo nito, ay nagbibigay sa gumagamit ng isang linya ng teksto at isang solong pindutan upang mag-click. Narito ang isang halimbawa upang subukan - ipasok ang sumusunod na linya pagkatapos ng iyong import line, at i-save gamit ang Ctrl + X:
msgbox ("Cool box huh?", "Ako ay isang Message Box")Upang patakbuhin ang script, gamitin ang sumusunod na command:
sudo python easygui.pyDapat mong makita ang isang kahon ng mensahe na lilitaw, na may 'Ako ay isang Mensahe Box' na nakasulat sa itaas na bar, at 'Cool box huh?' sa itaas ng button.
05 ng 10
Magpatuloy o Kanselahin ang Kahon
Minsan kakailanganin mo ang gumagamit upang kumpirmahin ang isang aksyon o pumili kung magpatuloy o hindi. Ang kahon ng 'ccbox' ay nag-aalok ng parehong linya ng teksto bilang pangunahing kahon ng mensahe sa itaas, ngunit nagbibigay ng 2 mga pindutan - 'Magpatuloy' at 'Kanselahin'.
Narito ang isang halimbawa ng isa na ginagamit, kasama ang magpatuloy at kanselahin ang mga pindutan sa pagpi-print sa terminal. Maaari mong baguhin ang pagkilos pagkatapos pindutin ang pindutan upang gawin ang anumang gusto mo:
mula sa easygui import * import time msg = "Gusto mo bang magpatuloy?" pamagat = "Magpatuloy?" # ccbox (msg, pamagat): # magpakita ng Magpatuloy / Kanselahin ang print ng print "Magpatuloy ang napiling gumagamit" # Magdagdag ng iba pang mga utos dito ibang tao: # Pinili ng user Kanselahin ang print "Nakansela ang User" # Magdagdag ng iba pang mga utos dito06 ng 10
Custom Button Box
Kung hindi binibigyan ka ng mga pagpipilian sa built-in na kahon kung ano ang kailangan mo, maaari kang lumikha ng isang pasadyang pindutan na kahon gamit ang tampok na 'buttonbox'.
Ito ay mahusay kung mayroon kang higit pang mga opsyon na kailangan na sumasakop, o marahil ay pagkontrol ng isang bilang ng mga LEDs o iba pang mga sangkap na may UI.
Narito ang isang halimbawa ng pagpili ng sauce para sa isang order:
mula sa easygui import * import time msg = "Aling sauce ang gusto mo?" ang mga pagpipilian = ["Mild", "Hot", "Extra Hot"] reply = buttonbox (msg, pagpipilian = pagpipilian) kung sumagot == "Mild": print reply kung sumagot == "Hot": print reply "Extra Hot": i-print ang tugon07 ng 10
Choice Box
Ang mga pindutan ay mahusay, ngunit para sa mahabang listahan ng mga pagpipilian, ang isang 'kahon ng pagpili' ay may maraming kahulugan. Subukan ang karapat-dapat na 10 na mga pindutan sa isang kahon at malapit na kang sumang-ayon!
Inililista ng mga kahong ito ang mga magagamit na opsyon sa mga hilera nang isa-isa, na may isang kahon ng 'OK' at 'Kanselahin'. Ang mga ito ay makatwirang matalino, pinagsasama-sama ang mga opsyon ayon sa alpabeto at nagpapahintulot din sa iyo na pindutin ang isang key upang lumipat sa unang pagpipilian ng liham na iyon.
Narito ang isang halimbawa na nagpapakita ng sampung mga pangalan, na maaari mong makita ay pinagsunod-sunod sa screenshot.
mula sa easygui import * import time msg = "Sino ang nagpapalabas ng mga aso?" Mga pagpipilian sa pagpili ng "Mga Nawawalang Aso" = ["Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah" = choicebox (msg, pamagat, pagpipilian)08 ng 10
Data Entry Box
Ang mga form ay isang mahusay na paraan upang makuha ang data para sa iyong proyekto, at ang EasyGUI ay may 'multenterbox' na pagpipilian na nagbibigay-daan sa iyo upang ipakita ang mga may label na mga patlang upang makuha ang impormasyon.
Muli itong isang kaso ng mga patlang ng labeling at nakukuha lamang ang input. Gumawa kami ng isang halimbawa sa ibaba para sa isang simpleng pag-sign-up form ng pagiging simple ng gym.
Mayroong mga opsyon upang magdagdag ng pagpapatunay at iba pang mga advanced na tampok, kung saan ang website ng EasyGUI ay sumasaklaw nang detalyado.
mula sa easygui import * oras ng pag-import msg = "Impormasyon ng Miyembro" title = "Form Membership Membership" fieldNames = ["Unang Pangalan", "Pangalan ng Apelyido", "Edad", "Timbang" ]Values = [] # ang panimulang mga halaga ng fieldValues = multenterbox (msg, pamagat, fieldNames) print fieldValues09 ng 10
Pagdaragdag ng Mga Larawan
Maaari kang magdagdag ng mga larawan sa iyong mga interface ng EasyGUI sa pamamagitan ng pagsasama ng isang napakaliit na halaga ng code.
Mag-save ng isang imahe sa iyong Raspberry Pi sa parehong direktoryo ng iyong EasyGUI script at gumawa ng isang tala ng pangalan ng file at extension (halimbawa, image1.png).
Gamitin natin ang pindutang kahon bilang halimbawa:
mula sa easygui import * import time image = "RaspberryPi.jpg" msg = "Ito ba ay isang Raspberry Pi?" mga pagpipilian = ["Oo", "Hindi"] reply = buttonbox (msg, imahen = larawan, pagpipilian = mga pagpipilian) kung sagot == "Oo": i - print ang "Oo"10 ng 10
Higit pang mga Advanced na Tampok
Sinasaklaw namin ang mga pangunahing 'pangunahing' EasyGUI na opsyon dito upang makapagsimula ka, gayunpaman, mayroong maraming higit pang mga pagpipilian sa kahon at mga magagamit na halimbawa depende sa kung magkano ang gusto mong matutunan, at kung ano ang kinakailangan ng iyong proyekto.
Ang mga kahon ng password, mga kahon ng code, at kahit mga kahon ng file ay magagamit upang pangalanan ang ilan. Ito ay isang napaka-maraming nalalaman library na madaling kunin sa ilang minuto, na may ilang mga mahusay na mga posibilidad ng kontrol ng hardware pati na rin.
Kung gusto mong matutunan kung paano i-code ang iba pang mga bagay tulad ng Java, HTML o higit pa, narito ang mga pinakamahusay na mapagkukunan ng online coding na magagamit.