Aldonante grafikan uzan interfacon (GUI) al via Frambeta Pi-projekto estas bonega maniero por inkludi ekranon por datumoj, sur ekranaj butonoj por kontroloj aŭ eĉ pli klara maniero por montri legadojn de komponantoj kiel sensores.
01 de 10
Faru Interfacon por Via Projekto
Ekzistas kelkaj malsamaj GUI-metodoj haveblaj por la Frambo Pi, tamen, plej multaj havas kruta lernado-kurbo.
La interfaco de Tkinter Python eble estas la defaŭlta opcio 'iri al', tamen, komencantoj povas batali kun ĝia komplekseco. Simile, la PyGame-biblioteko proponas eblojn por fari impresajn interfacojn, sed povas esti troaj al postuloj.
Se vi serĉas simplan kaj rapidan interfacon por via projekto, EasyGUI povus esti la respondo. Kion ĝi malhavas de grafika beleco ĝi pli ol konsistas en ĝia simpleco kaj facileco.
Ĉi tiu artikolo donos al vi enkondukon al la biblioteko, inkluzive de iuj el la plej utilaj elektoj, kiujn ni trovis.
02 de 10
Elŝuti kaj Importi EasyGUI
Por ĉi tiu artikolo ni uzas la norman sisteman sistemon Raspbian, kiu estas ĉi tie.
Instali la bibliotekon estos familiara procezo al plej multaj, uzante la 'apt-get install' metodo. Vi bezonos interretan konekton en via Frambo Pi, uzante ĉenon Ethernet aŭ WiFi.
Malfermu fenestron de fina stacio (la ikono de nigra ekrano sur la tasko de via Pi) kaj enmetu la jenan komandon:
kapabla - instali python-easyguiĈi tiu komando malŝarĝos la bibliotekon kaj instalu ĝin por vi, kaj jen la tuta instalilo, kiun vi devas fari.
03 de 10
Importi EasyGUI
EasyGUI devas esti importita en skripton antaŭ ol vi povas uzi ĝiajn funkciojn. Ĉi tio atingas enirante unu linion ĉe la supro de via skripto kaj estas la sama sendepende de kiu EasyGUI-interfaco vi uzas.
Kreu novan skripton enirante la sekvan komandon en via fina fenestro:
sudo nano easygui.pyMalplena ekrano aperos - ĉi tiu estas via malplena dosiero (nano estas simple la nomo de teksto-redaktilo). Por importi EasyGUI en vian skripton, enigu la sekvan linion:
de easygui importado *Ni uzas ĉi tiun specifan version de la importado por fari kodigon eĉ pli facile poste. Ekzemple, kiam vi importas ĉi tion, anstataŭ devi skribi 'easygui.msgbox' ni simple povas uzi 'msgbox'.
Nun ni kovru iujn el la ŝlosila interfaco-opcioj ene de EasyGUI.
04 de 10
Baza Mesaĝkesto
Ĉi tiu mesaĝkesto, en ĝia plej simpla formo, donas al la uzanto linion de teksto kaj unu butonon por klaki. Jen ekzemplo por provi - enmetu la sekvan linion post via linio de importado kaj savi uzante Ctrl + X:
msgbox ("Cool box huh?", "Mi estas Mesaĝo-Skatolo")Por ekzekuti la skripton, uzu la jenan komandon:
sudo python easygui.pyVi devus vidi mesaĝon-skatolon aperi, kun 'mi estas mesaĝkesto' skribita en la supro trinkejo, kaj 'Cool box huh?' super la butono.
05 de 10
Daŭrigu aŭ Nuligi Keston
Kelkfoje vi bezonos al la uzanto konfirmi agon aŭ elekti ĉu aŭ ne daŭrigi. La skatolo 'ccbox' proponas la saman tekston kiel la baza mesaĝkesto supre, sed provizas 2 butonoj - 'Daŭri' kaj 'Nuligi'.
Jen ekzemplo de unu en uzo, kun la daŭrigi kaj nuligi butonoj presante al la fina stacio. Vi povus ŝanĝi la agon post ĉiu butono por fari kion ajn vi volas:
de easygui importado * importempa tempo msg = "Ĉu vi volas daŭrigi?" title = "Daŭrigi?" se ccbox (msg, titolo): # montri Daŭrigu / Nuligi dialogon print "Uzanto elektita daŭrigi" # Aldonu aliajn komandojn ĉi tie: Uzanto elektis Cancel print "Uzanto nuligita" # Aldonu aliajn komandojn ĉi tie06 de 10
Propra Butono-Skatolo
Se la elektitaj enĵaj elektoj ne donas al vi tion, kion vi bezonas, vi povas krei kutiman butonon-skatolon per la 'butono'.
Ĉi tio estas bonega se vi havas pli da ebloj, kiuj bezonas kovri, aŭ eble kontrolas kelkajn LED-ajojn aŭ aliajn komponantojn kun la Interfaco de Interreto.
Jen ekzemplo elektante saŭcon por ordo:
de easygui importado * importa tempo msg = "Kiun saŭcon vi ŝatus?" elektoj = ["Milda", "Varma", "Ekstra Varma"] respondo = butononbox (msg, elektoj = elektoj) se respondo == "Milda": presita respondo se respondo == "Varma": preskribu respondon se respondo == "Ekstra Varma": presita respondo07 de 10
Elekta Skatolo
Butonoj estas bonegaj, sed por longaj listoj de elektoj, 'elekta skatolo' faras multan senton. Provu tajpi 10 butonoj en skatolo kaj vi baldaŭ konsentos!
Ĉi tiuj skatoloj listigas la disponebajn eblojn en vicoj unu post alia, kun 'OK' kaj 'Nuligi' skatolon al la flanko. Ili estas prudente inteligentaj, ordigante la opcion alfabete kaj ankaŭ permesas al vi premi ŝlosilon por salti al la unua eblo de tiu letero.
Jen ekzemplo montranta dek nomojn, kiujn vi povas vidi estis ordo en la ekrankopio.
de easygui importado * importa tempo msg = "Kiu lasis la hundojn ekstere?" Elektoj = Elektoj de "Missing Dogs" = Elekto de elekto ["Alex", "Kato", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah") = elektobox (msg, titolo, elektoj)08 de 10
Datuma Skatolo
Formoj estas bonega maniero kapti datumojn por via projekto, kaj EasyGUI havas 'multenterbox' opcion, kiu ebligas al vi montri etikeditajn kampojn por kapti informojn.
Denove ĝi estas kazo de etiketaj kampoj kaj simple kaptado de la enigo. Ni faris ekzemplon sube por tre simpla gimnazio-membreca subskribo-formularo.
Estas ebloj por aldoni validigon kaj aliajn antaŭajn funkciojn, kiujn la retejo EasyGUI kovras en detalo.
de facilegui importado * importa tempo msg = "Membro-Informo" title = "Gimnara Membro-Formo" fieldNames = ["Unua Nomo", "Nomnomo", "Aĝo", "Pezo"] fieldValues = [] # la komencaj valoroj fieldValues = multenterbox (msg, titolo, fieldNames) presi kampoValues09 de 10
Aldonante bildojn
Vi povas aldoni bildojn al via EasyGUI-interfacoj per inkludado de tre malgranda kodo.
Konservu bildon al via Frambo Pi en la sama dosierujo kiel via EasyGUI-skripto kaj faru noton de la dosiernomo kaj etendo (ekzemple, image1.png).
Ni uzu la butonon-skatolon kiel ekzemplo:
de easygui importado * import time-time = "RaspberryPi.jpg" msg = "Ĉu tio estas Frambo Pi?" elektoj = ["Jes", "Ne"] respondo = butononbox (msg, image = image, choices = choices) se respondo == "Jes": presi "Jes" alia: presi "Ne"10 el 10
Pli Altnivelaj Trajtoj
Ni traktas ĉi tie la ĉefajn 'bazajn' EasyGUI-opciojn por komenci vin, tamen ekzistas multaj pli da skatoloj kaj ekzemploj disponeblaj laŭ kiom vi volas lerni kaj kion via projekto postulas.
Pasvortaj skatoloj, kodaj skatoloj, kaj eĉ dosieroj estas haveblaj por nomi kelkajn. Ĝi estas tre versátila biblioteko, kiu estas facile elektebla en minutoj, kun kelkaj grandaj aparataro-kontrolo-eblecoj ankaŭ.
Se vi ŝatus lerni kiel kodigi aliajn aferojn kiel Java, HTML aŭ pli, jen la plej bonaj interretaj kodaj rimedoj haveblaj.