Himoa ang Simple GUIs uban sa Raspberry Pi Paggamit sa EasyGUI

Ang pagdugang sa usa ka graphical user interface (GUI) sa imong Raspberry Pi nga proyekto usa ka maayong paagi sa paglakip sa usa ka screen alang sa data entry, on-screen nga mga button alang sa mga kontrol o bisan usa lamang ka mahait nga paagi sa pagpakita sa mga pagbasa gikan sa mga sangkap sama sa sensor.

01 sa 10

Paghimo og Interface alang sa Imong Proyekto

Ang EasyGUI usa ka dali ug yano nga proyekto nga sulayan kini nga hinapos sa semana. Richard Saville

Adunay ubay-ubay nga nagkalainlaing mga pamaagi sa GUI nga anaa alang sa Raspberry Pi, bisan pa niana, kadaghanan adunay usa ka taas nga curve sa pagkat-on.

Ang interface sa Tkinter Python mahimong ang default nga 'go to' nga kapilian alang sa kadaghanan, bisan pa niana, ang mga magsusugod makigbisog sa komplikado niini. Sa samang paagi, ang librarya sa PyGame nagtanyag og mga kapilian alang sa paghimo sa mga talagsaon nga interface apan mahimong sobra sa mga gikinahanglan.

Kon nangita ka ug yano ug dali nga interface alang sa imong proyekto, ang EasyGUI mao ang tubag. Ang kulang niini sa talagsaon nga katahum labaw niini kay sa paghimo sa yano ug kasayon ​​sa paggamit.

Kini nga artikulo maghatag kanimo usa ka pasiuna sa librarya, lakip ang pipila ka labing mapuslanon nga mga kapilian nga among nakit-an.

02 sa 10

Pag-download ug Pag-import sa EasyGUI

Ang pag-instalar sa EasyGUI yano sa paagi sa 'apt-get install'. Richard Saville

Alang niining artikuloha, gigamit nato ang standard Raspbian operating system nga anaa dinhi.

Ang pag-instalar sa librarya mahimong pamilyar nga proseso sa kadaghanan, gamit ang 'apt-get install' nga pamaagi. Kinahanglan nimo ang koneksyon sa internet sa imong Raspberry Pi, gamit ang bisan usa ka wired Ethernet o koneksyon sa WiFi.

Pag-abli sa usa ka terminal nga bintana (ang icon sa usa ka itom nga screen sa imong taskbar ni Pi) ug mosulod sa mosunod nga sugo:

apt-get install python-easygui

Kini nga sugo mag-download sa librarya ug i-install kini alang kanimo, ug kana ang tanan nga setup kinahanglan nimo buhaton.

03 sa 10

Import EasyGUI

Ang pag-import sa EasyGUI nagkinahanglan lamang og usa ka linya. Richard Saville

Ang EasyGUI kinahanglan i-import ngadto sa usa ka script sa dili pa nimo magamit ang mga gimbuhaton niini. Kini makab-ot pinaagi sa pagsulod sa usa ka linya diha sa ibabaw sa imong script ug mao ra gihapon bisan asa nga mga opsyon sa EasyGUI interface nga imong gigamit.

Paghimo og usa ka bag-ong script pinaagi sa pagsulod sa mosunod nga command sa imong terminal window:

sudo nano easygui.py

Ang usa ka blankong screen makita - kini ang imong walay sulod nga file (ang nano usa lamang ka ngalan sa usa ka editor sa text). Sa pag-import sa EasyGUI ngadto sa imong script, isulod ang mosunod nga linya:

gikan sa easygui import *

Gigamit namon kini nga piho nga bersyon sa import aron mas masayon ​​ang coding. Pananglitan, sa dihang ang pag-import niini nga agianan, imbis nga isulat ang 'easygui.msgbox' mahimo lamang nga gamiton ang 'msgbox'.

Karon atong tabonan ang pipila sa mga kapilian nga mga kapilian sa interface sulod sa EasyGUI.

04 sa 10

Panguna nga Kahon sa Mensahe

Ang yanong message box usa ka maayong paagi sa pagsugod sa EasyGUI. Richard Saville

Kini nga kahon sa mensahe, sa pinakasimple nga porma, naghatag sa gumagamit og usa ka linya sa teksto ug usa ka buton nga i-klik. Ania ang usa ka panig-ingnan sa pagsulay - pagsulod sa mosunod nga linya pagkahuman sa imong import nga linya, ug pagtipig gamit ang Ctrl + X:

msgbox ("Cool box huh?", "Ako usa ka Message Box")

Aron makadagan ang script, gamita ang mosunod nga sugo:

sudo python easygui.py

Kinahanglan mo makita ang usa ka kahon sa mensahe nga makita, uban sa 'Ako usa ka Message Box' nga gisulat sa top bar, ug 'Cool box huh?' ibabaw sa button.

05 sa 10

Padayon o I-Cancel Box

Ang Padayon / Cancel nga kahon makadugang sa kumpirmasyon sa imong mga proyekto. Richard Saville

Usahay kinahanglan nimo ang tiggamit aron pagkumpirma sa aksyon o pagpili kung magpadayon ba o dili. Ang 'ccbox' nga kahon naghatag sa sama nga linya sa teksto ingon nga ang basehan nga mensahe nga kahon sa ibabaw, apan naghatag 2 mga buton - 'Padayon' ug 'Cancel'.

Ania ang usa ka ehemplo sa usa nga gigamit, uban sa pagpadayon ug pagkansela sa mga butang nga pag-imprinta sa terminal. Mahimo nimong usbon ang lihok human sa matag pagpindot nga butang aron buhaton ang bisan unsang gusto nimo:

gikan sa easygui import * import time msg = "Gusto ka bang magpadayon?" title = "Padayon?" Kung ang ccbox (msg, titulo): # nagpakita sa Magpadayon / Kanselahon ang pag-print sa dialog "Pagpili sa user nga nagpadayon" # Idugang ang uban nga mga sugo dinhi sa laing dapit: # user nga gipili Cancel print "User gikuha" # Add other commands here

06 sa 10

Custom Button Box

Ang 'buttonbox' nagtugot kanimo sa paghimo sa mga kapilian sa custom nga butang. Richard Savlle

Kon ang gitukod nga mga kahon sa kahon dili kaayo makahatag nimo unsay imong gikinahanglan, makahimo ka og usa ka custom button nga kahon gamit ang feature nga 'buttonbox'.

Maayo kini kung duna kay daghang kapilian nga kinahanglan nga magatabon, o tingali ang pagpugong sa daghang mga LED o ubang mga sangkap sa UI.

Ania ang usa ka ehemplo nga pagpili sa sarsa alang sa usa ka order:

gikan sa easygui import * import time msg = "Asa nga sarsa ang gusto nimo?" ang mga pagpili = ["Mild", "Hot", "Extra Hot"] reply = buttonbox (msg, choices = choices) kung reply == "Mild": print reply "Extra Hot": print reply

07 sa 10

Pagpili nga Kahon

Labing maayo ang Choice Box alang sa taas nga lista sa mga butang. Richard Saville

Maayo ang mga butones, apan alang sa taas nga lista sa mga kapilian, ang usa ka 'kahon nga gipili' usa ka daghang kahulugan. Sulayi ang pag-ayo sa 10 ka mga buton sa usa ka kahon ug sa dili madugay magkauyon!

Gihisgutan kini nga mga kahon sa mga opsyon nga anaa sa matag linya, nga may kahon nga 'OK' ug 'Cancel' sa kilid. Kini maalamon nga paagi, paghuman sa mga kapilian nga alpabeto ug usab pagtugot kanimo sa pagpilit sa usa ka yawe aron moambak sa unang kapilian niana nga sulat.

Ania ang usa ka pananglitan nga nagpakita sa napulo ka mga ngalan, nga imong makita nga gilain sa screenshot.

gikan sa easygui import * import time msg = "Kinsa ang gipalayo sa mga iro?" Ang mga pagpili nga [= "Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah" = choicebox (msg, titulo, pagpili)

08 sa 10

Kahon sa Data Entry

Ang 'Multenterbox' nagtugot kanimo pagkuha sa datos gikan sa mga tiggamit. Richard Saville

Ang mga porma usa ka maayong paagi sa pagdakop sa datos alang sa imong proyekto, ug ang EasyGUI adunay 'multenterbox' nga kapilian nga nagtugot kanimo sa pagpakita sa gimarkahan nga mga natad aron makuha ang kasayuran.

Sa makausa kini usa ka kaso sa mga labeling nga mga kaumahan ug sa yanong pagkuha sa input. Naghimo kami og ehemplo sa ubos alang sa usa ka yano kaayo nga porma sa pag-sign up sa membership sa gym.

Adunay mga kapilian aron madugang ang validation ug uban pang abante nga mga bahin, diin ang EasyGUI website naglangkob sa detalye.

gikan sa easygui import * import time msg = "Member Information" title = "Gym Membership Form" fieldNames = ["First Name", "Surname", "Age", "Weight"] fieldValues ​​= [] # the starting values ​​fieldValues ​​= multenterbox (msg, titulo, fieldNames) print fieldValues

09 sa 10

Pagdugang sa mga Imahe

Idugang ang mga hulagway sa imong mga kahon alang sa bag-ong paagi sa paggamit sa GUI. Richard Saville

Mahimo nimong idugang ang mga hulagway sa imong mga interface sa EasyGUI pinaagi sa paglakip sa usa ka gamay kaayo nga kantidad sa code.

Luwasa ang usa ka larawan sa imong Raspberry Pi sa sama nga direktoryo sa imong EasyGUI script ug paghimo sa usa ka nota sa file nga ngalan ug extension (pananglitan, image1.png).

Gamiton nato ang button box isip pananglitan:

gikan sa easygui import * import time image = "RaspberryPi.jpg" msg = "Kini ba usa ka Raspberry Pi?" mga pagpili = ["Oo", "Wala"] tubag = buttonbox (msg, image = image, choices = choices)

10 sa 10

Labaw nga Advanced Features

Dili nimo mahimo ang mga sistema sa pagbayad uban sa EasyGUI, apan mahimo ka nga maglingaw-lingaw !. Richard Saville

Gikobrehan namo ang mga nag-unang 'batakan' nga mga pamaagi sa EasyGUI dinhi aron makasugod ka, bisan pa, adunay daghang mga opsyon sa kahon ug mga panig-ingnan nga magamit depende kung unsa ka daghan ang imong gusto nga makat-onan, ug unsa ang gikinahanglan sa imong proyekto.

Ang mga kahon sa password, mga kahon sa code, ug bisan mga kahon sa mga file mahimo nga hinganlan og pipila. Kini usa ka dako kaayo nga gamit nga librarya nga sayon ​​nga makuha sa mga minuto, uban sa pipila ka mga maayong pagkontrol sa hardware nga mga posibilidad usab.

Kon gusto ka nga makat-on kung unsaon pagsulondan ang ubang mga butang sama sa Java, HTML o labaw pa, ania ang labing maayo nga mga kahinguhaan sa online nga coding nga anaa.