Ua Yooj Yim Zauv Yooj Yim Nrog Lub Raspberry Pi Siv EasyGUI

Ntxiv ib daim graphical user interface (GUI) rau koj tus khoos kas Pi yog ib txoj hau kev zoo kom muaj ib qho screen rau cov ntaub ntawv nkag teb chaws, on-screen nyees khawm rau ntawm kev tswj los sis txawm yog ib txoj kev ntse tshaj plaws los qhia kev nyeem ntawm cov khoom xws li cov sensors.

01 ntawm 10

Ua ib qho Interface rau koj qhov Project

EasyGUI yog ib txoj haujlwm ceev thiab yoojyim sim ua lis xaus no. Cai Richard Saville

Muaj ntau hom GUI sib txawv rau cov menyuam Pos, tiam sis, feem ntau muaj kev cuam tshuam txoj kev kawm khawm.

Tkinter Python interface yuav yog lub neej ua ntej 'mus rau' xaiv rau feem ntau, txawm li cas los, pib tshiab tuaj yeem nrog nws txoj kev nyuaj. Zoo sib xws, PyGame qiv ntawv muaj kev xaiv ua cov ntes kev cuam tshuam, tiam sis tej zaum yuav muaj nyiaj ntau tshaj.

Yog tias koj tab tom nrhiav kev yooj yim thiab ceev interface rau koj qhov project, EasyGUI yuav yog cov lus teb. Cas nws lacks hauv graphical kev zoo nkauj nws ntau tshaj ua rau hauv nws cov simplicity thiab yooj yim ntawm kev siv.

Tsab ntawv xov xwm no yuav qhia rau koj paub txog lub tsev qiv ntawv, nrog rau qee qhov kev xaiv uas peb tau pom ntau tshaj plaws.

02 ntawm 10

Daus thiab Importing EasyGUI

EasyGUI installation yog yooj yim nrog lub 'apt-mus nruab' txujci. Cai Richard Saville

Rau cov tshooj no, peb siv cov txheej txheem Raspbian uas muaj nyob rau ntawm no.

Kev txhim kho lub tsev qiv ntawv yuav yog tus txheej txheem rau feem ntau, siv qhov 'apt-get install' method. Koj yuav tsum muaj kev sib txuas hauv internet ntawm koj tus khub nab, siv cov kab txuas hauv Ethernet lossis WiFi.

Qhib lub davhlau ya nyob twg (qhov tshwm sim ntawm lub vijtsam dub ntawm koj tus Pi cov haujlwm) thiab sau kab lus nram qab no:

apt-mus nruab python-easygui

Cov lus txib no yuav download tau lub tsev qiv ntawv thiab nruab rau koj, thiab yog tag nrho cov teeb koj yuav tsum tau ua.

03 ntawm 10

Ntshuam EasyGUI

Importing EasyGUI yuav siv ib kab xwb. Cai Richard Saville

EasyGUI xav kom xa tuaj rau hauv ib tsab ntawv ua ntej koj tuaj yeem siv nws cov haujlwm. Qhov no yog tiav los ntawm kev nkag mus rau ib kab nkaus xwb rau saum koj tsab ntawv thiab yog tib yam tsis hais txog qhov twg los ntawm EasyGUI interface koj xaiv.

Tsim ib tsab ntawv tshiab los ntawm kev nkag mus rau cov lus txib hauv qab no hauv koj qhov chaw dav hlau:

sudo nano easygui.py

Ib qho dawb paug yuav tshwm sim - qhov no yog koj daim ntawv npliag (nano yog lub npe ntawm cov ntawv nyeem). Mus import EasyGUI rau hauv koj tsab ntawv, sau kab hauv qab no:

los ntawm easygui ntshuam *

Peb siv no cov version ntawm tus ntshuam los ua coding txawm tias yooj yim dua tom qab. Piv txwv, thaum importing no eway, tsis txhob sau 'easygui.msgbox' peb tsuas siv tau 'msgbox'.

Tam sim no peb duav ib co ntawm cov kev xaiv interface hauv EasyGUI.

04 ntawm 10

Sau Xov Tooj

Qhov yooj yim lus lub thawv yog txoj kev zoo pib nrog EasyGUI. Cai Richard Saville

Lo lus no lub thawv, nyob rau hauv nws daim ntawv nyuaj, muab cov neeg siv kab ntawv thiab ib tus khawm kom nyem. Ntawm no yog ib qho piv txwv sim - sau cov kab hauv qab no tom qab koj cov kab import, thiab txuag tau siv Ctrl + X:

msgbox ("Lub thawv txias laj huh?", "Kuv yog Xov Tooj")

Xav khiav cov ntawv, siv cov lus txib nram no:

sudo python easygui.py

Koj yuav tsum tau pom ib lub thawv ntawv tshwm, nrog 'Kuv Yog Ib Leeg Lus' sau rau sab saum toj, thiab 'Thawv Cool huh?' saum toj no khawm.

05 ntawm 10

Mus lossis Thaiv Lub Thawv

Lub Ncauj Txuas Ntxiv / Ncua tseg tau ntxiv kev pom zoo rau koj cov haujlwm. Cai Richard Saville

Qee lub sij hawm koj yuav xav tau rau tus neeg siv los tshawb xyuas qhov kev txiav txim lossis xaiv seb puas los yog tsis xav ua ntxiv. Lub thawv ntawv 'ccbox' muaj cov kab ntawv tib yam li cov lus sau saum toj no, tab sis muaj 2 nyees khawm - 'Mus' ntxiv mus thiab 'Cancel'.

Ntawm no yog ib qho piv txwv ntawm ib qho hauv kev siv, nrog rau kev txuas ntxiv thiab thim nyees khawm luam ntawv mus rau lub davhlau ya nyob twg. Koj yuav hloov qhov kev txiav txim tom qab txhua lub pob nyem los ua txhua yam koj nyiam:

ntawm easygui ntshuam * ntshuam lub sij hawm msg = "Koj puas xav mus ntxiv?" title = "Mus ntxiv?" Yog hais tias ccbox (msg, title): # qhia ib tus tuaj / Ncua tseg teb sau "Tus neeg xaiv tau mus txuas ntxiv" # Ntxiv lwm cov lus ntxiv ntawm no: # tus neeg xaiv tau rho tawm sau "User canceled"

06 ntawm 10

Kev Cai Khawm Box

Lub 'buttonbox' pub rau koj los ua kev cai khawm kev xaiv. Cai Richard Savlle

Yog hais tias lub thawv built-in tsis tau muab rau koj yam koj xav tau, koj tuaj yeem tsim kom muaj lub thawv kev cai siv lub pob 'buttonbox'.

Qhov no zoo kawg thiab yog tias koj muaj ntau txoj haujlwm uas yuav tsum tau npog, los yog saib tsam yog tswj cov leb los yog lwm yam khoom nrog UI.

Ntawm no yog ib qho piv txwv xaiv ntses rau qhov kev txiav txim:

los ntawm easygui ntshuam * ntshuam lub sij hawm msg = "Cov ntses twg uas koj nyiam?" = Teb zoo! Lus hauv no teb yog teb == "Me me": sau teb yog teb == "Kub": sau teb yog teb == "Ntxiv Kub": sau teb

07 ntawm 10

Xaiv Box

Lub Thawv Xaiv yog qhov zoo rau cov npe khoom ntev dua. Cai Richard Saville

Nyees khawm yog cov zoo, tab sis ntev ntev ntawm cov kev xaiv, lub 'xaiv lub thawv' ua rau kev txiav txim siab zoo heev. Sim khawm 10 khawm hauv ib lub thawv thiab koj yuav pom zoo sai sai!

Cov kem no sau cov kev xaiv muaj nyob hauv ib kab tom qab, nrog lub 'OK' thiab 'Cancel' box rau sab. Lawv ntse ntse, tshawb xyuas kev xaiv thiab txhawm rau koj mus nias rau qhov tseem ceeb los mus dhia mus rau qhov kev xaiv thawj zaug ntawm tsab ntawv ntawd.

Ntawm no yog ib qho piv txwv uas qhia kaum lub npe, uas koj tuaj yeem pom tau muab txheeb cais tawm hauv lub screenshot.

los ntawm easygui ntshuam * ntshuam lub sij hawm msg = "Leej twg cia cov dev tawm?" title = ["Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"] xaiv = kev xaiv tsa (msg, npe, xaiv)

08 ntawm 10

Cov Ntaub Ntawv Xa Cov Ntaub Ntawv

Lub 'Multenterbox' cia koj ntes cov ntaub ntawv los ntawm cov neeg siv. Cai Richard Saville

Cov ntaub ntawv yog ib txoj hauv kev zoo rau kev ntes cov ntaub ntawv rau koj qhov project, thiab EasyGUI muaj ib qho chaw xaiv 'ntau hom' uas tso cai rau koj qhia cov npe sau rau cov ntaub ntawv nrog.

Ib zaug dua nws yog ib qho teeb meem ntawm cov ntawv sau teb thiab cias ntes cov tswv yim. Peb tau ua ib qho piv txwv hauv qab no rau ib daim ntawv sau npe ua gym yooj yim heev.

Muaj cov kev xaiv ntxiv validation thiab lwm yam nta, uas lub website EasyGUI npog hauv kev nthuav dav.

Teb zoo! Lus hauv no teb FieldValues ​​= [] # qhov pib qhov tseem ceeb fieldValues ​​= multenterbox Teb zoo! Lus hauv no teb FieldValues ​​= [] (msg, npe, fieldNames) sau cov lus teb sau tawm

09 ntawm 10

Muab Duab Ntxiv

Ntxiv dluab rau koj lub thawv rau ib txoj kev tshiab uas siv GUI. Cai Richard Saville

Koj tuaj yeem tau ntxiv cov duab rau koj qhov EasyGUI interfaces los ntawm kev siv nyiaj tsawg.

Tseg ib daim duab rau koj tus txiv neej Pi hauv qhov directory tib yam li koj daim EasyGUI thiab ua ib daim ntawv me me ntawm cov ntaub ntawv lub npe thiab kev txuas ntxiv (piv txwv, image1.png).

Cia siv lub npov lub thawv ua piv txwv:

los ntawm easygui ntshuam * ntshuam lub sij hawm duab = "RaspberryPi.jpg" msg = "Qhov no puas yog tus txiv pos?" xaiv = "Yes"] teb = buttonbox (msg, duab = duab, xaiv = xaiv) yog teb == "Muaj": sau "Yes" ntxiv: sau "Tsis yog"

10 ntawm 10

Ntxiv Advanced Nta

Koj tsis tuaj yeem them nyiaj rau EasyGUI, tiam sis koj tuaj yeem muaj kev lom zem ua ntej !. Cai Richard Saville

Peb tau them qhov yooj yim 'EasyGUI cov kev xaiv ntawm no kom tau koj pib, tab sis, muaj ntau lub thawv xaiv thiab cov piv txwv muaj nyob ntawm seb koj xav paub ntau npaum li cas, thiab seb qhov koj xav tau.

Cov thawv naj npawb, cov thawv ntawv, thiab cov ntawv thawv muaj txawm tias muaj npe rau ob peb leeg. Nws yog ib lub tsev qiv ntawv uas muaj ntau yam heev uas tuaj yeem yooj yim tuaj tos hauv ob peb feeb, nrog qee qhov cuab yeej kho vajtse kom zoo.

Yog tias koj xav kawm txog lwm txoj hauv kev li cas xws li Java, HTML lossis ntau dua, ntawm no yog qhov zoo tshaj hauv online coding cov kev pabcuam .