Faru Simplajn GUIojn Kun la Frambo Pi Uzanta EasyGUI

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

EasyGUI estas rapida kaj simpla projekto por provi ĉi tiun semajnfinon. Richard Saville

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

EasyGUI-instalado estas simpla kun la 'apt-get install' metodo. Richard Saville

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

Importante EasyGUI prenas nur unu linion. Richard Saville

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.py

Malplena 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

La simpla mesaĝkesto estas bonega maniero komenci kun EasyGUI. Richard Saville

Ĉ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.py

Vi 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

La #Da? Ri / Nuligi skatolon povas aldoni konfirmon al viaj projektoj. Richard Saville

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 tie

06 de 10

Propra Butono-Skatolo

La 'butono' permesas al vi fari kutimajn butonajn eblojn. Richard Savlle

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 respondo

07 de 10

Elekta Skatolo

La Elekta Skatolo estas bonega por pli longaj listoj de eroj. Richard Saville

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

La 'Multenterbox' permesas kapti datumojn de uzantoj. Richard Saville

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 kampoValues

09 de 10

Aldonante bildojn

Aldonu bildojn al viaj skatoloj por tute nova maniero uzi la GUI. Richard Saville

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

Vi ne povas fari pagajn sistemojn kun EasyGUI, sed vi povas amuziĝi! Richard Saville

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.