Meitsje ienfâldige GUIs Mei de Raspberry Pi Using EasyGUI

It tafoegjen fan in grafyske brûkersynterface (GUI) oan jo Raspberry Pi-projekt is in geweldige manier om in skerm te meitsjen foar gegevensynfier, on-screen-knoppen foar kontrôles of sels gewoan in smarter manier om lêzingen fan komponinten as sensor te sjen.

01 of 10

Meitsje in ynterface foar jo projekt

EasyGUI is in flugge en ienfâldige projekt om dit wykein te probearjen. Richard Saville

Der binne in oantal ferskate GUI-metoaden beskikber foar de Raspberry Pi, mar de measte hawwe in steile learskurve.

De Tkinter-Python-ynterface kin de standert 'go to' opsje wêze foar de measte, lykwols kinne begjinners mei har kompleksiteit kämppe. Lykas de biblioteek fan PyGame biedt opsjes foar it meitsjen fan ympresjonele yntervinsjes, mar kinne ek oerfolling wêze oan easken.

As jo ​​sykje foar in ienfâldige en flugge interface foar jo projekt, kin EasyGUI it antwurd wêze. Wat it foarkomt yn grafyske skientme mear as it makket op yn syn ienfâld en maklikheid fan gebrûk.

Dit artikel sil jo in ynlieding jaan oan 'e bibleteek, wêrûnder guon fan' e nuttichste opsjes dy't wy fûn hawwe.

02 of 10

It ynlaadjen en ymportearjen fan EasyGUI

EasyGUI-ynstallaasje is ienfâldich mei 'apt-get install'. Richard Saville

Foar dit artikel brûke wy it standert Raspbian-bestjoeringssysteem dat hjir beskikber is.

It ynstallearjen fan de biblioteek sil de meast bekend proses wêze, mei de 'apt-get install' metoade. Jo moatte in ynternetferbining nedich hawwe op jo Raspberry Pi, mei help fan elke draadbere Ethernet of WiFi-ferbining.

Iepenje in terminalfinster (it byldskerm fan in swarte skerm op 'e taakbalke fan Pi) en folje it folgjende kommando yn:

apt-get install python-easygui

Dit kommando sil de biblioteek downloade en it foar jo ynstallearje, en dat is de ynstelling dy't jo nedich hawwe.

03 of 10

Ymportearje EasyGUI

EasyGUI ymportearret allinich mar in line. Richard Saville

EasyGUI moat ymportearre wurde yn in skript foardat jo syn funksjes brûke kinne. Dit is berikt troch it yndeksjen fan in single-line oan 'e top fan jo skript en is itselde ûnôfhinklik fan hokker EasyGUI-ynterfaceopsjes jo brûke.

In nije skript oanmeitsje troch yn it terminalfinster it kommende kommando yn te gean:

sudo nano easygui.py

In leech skerm ferskynt - dit is jo lege bestân (nano is gewoan de namme fan in tekstredakteur). Om EasyGUI yn jo skript te ymportearjen, ynfiere jo de folgjende line:

fan easygui ymport *

Wy brûke dizze spesifike ferzje fan de ymport om kodearring noch makliker letter te meitsjen. Bygelyks by it ymportearjen fan dit eau, ynstee fan 'easygui.msgbox' te skriuwen, kinne wy ​​gewoanwei 'msgbox' brûke.

Litte wy no ien fan 'e kaaien foar ynterface's fan KeyGuI hâlde.

04 of 10

Basic Message Box

It ienfâldige berjochtkant is in geweldige manier om te begjinnen mei EasyGUI. Richard Saville

Dit berjochtkast, yn syn ienfâldige foarm, jout de brûker in tekenrige en in single knop om te klikken. Hjir is in foarbyld om te probearje - de folgjende line nei jo ymportline ynfierd, en bewarje Ctrl + X besparje:

msgbox ("Cool box huh?", "ik bin in berjochtkast")

Om it skript út te fieren, brûk it folgjende kommando:

sudo python easygui.py

Jo moatte in berjochtkast sjen, mei 'Ik bin in berjochtkant' skreaun yn 'e topbal, en' Cool box huh? ' boppe de knop.

05 of 10

Ferfange of Cancel Box

It fjild trochleare / útbrekke kinne jo befestiging oan jo projekten taheakje. Richard Saville

Somtiden sille jo de brûker nedich hawwe om in aksje te befestigjen of te kiezen of net of fierder te gean. De sifers "ccbox" biedt deselde tekenrige as it basisknemakke boppe, mar jout 2 knoppen - 'Fuge' en 'Ofbrekke'.

Hjir is in foarbyld fan ien yn gebrûk, mei de trochgeande en annulearje knoppen drukke nei it terminal. Jo kinne de aksje feroarjen nei elke knoppresje om alles te dwaan:

fan easygui ymportearje * ymplemintiid msg = "Wolle jo trochgean?" title = "Fierdergean?" as ccbox (msg, titel): # sjen litte fan in trochgeande / Ofbrekke dialoog druk "brûker selektearre trochgean" # Foech oare kommando's hjir oars: # brûker keazen Hjirmei ôfbrekke print "brûker annulearre" # oare kommando's taheakje

06 of 10

Custom Button Box

It 'buttonbox' jout jo mooglik oanpaste knopopsjes te meitsjen. Richard Savlle

As de ynboude opsjes net goed leverje wat jo nedich hawwe, kinne jo in oanpaste knopke opnij meitsje mei de funksje fan 'buttonbox'.

Dit is geweldig as jo mear opsjes hawwe dy't nedich binne, of miskien in oantal LED's of oare komponinten mei de UI behearskje.

Hjir is in foarbyld fan sokssawat foar in oarder:

fan easygui ymportearje * ymplemintiid msg = "hokker saus jo wolle?" Choix = ["Mild", "Hot", "Extra Hot"] antwurd = buttonbox (msg, keuze = keuze) as antwurd == "Mild": print antwurdzje as antwurd == "Hot": print antwurdzje as antwurd == "Extra Hot": print antwurd

07 of 10

Choice Box

It karlist is prachtich foar langere listen fan items. Richard Saville

Knoppen binne geweldich, mar foar lange list fan opsjes makket in "karlist" in soad sin. Besykje 10 knoppen yn in fakje te passen en jo sille gau stimme!

Dizze fakjes list de beskikbere opsjes yn rigen ien nei 'e oare, mei in' OK 'en' Ofbrekke 'bok om' e side. Se binne rjochtslik lekker, de opsjes alphabetysk sortearjen en kinne jo ek in kaai drukke om nei de earste opsje fan dat letter te springen.

Hjir is in foarbyld fan tsien nammen, dy't jo sjogge, is sortearre yn it skermôfbylding.

fan easygui ymportearje * ymplemintiid msg = "wa litte de hûnen út?" title = "Missing Dogs" kiezen = ["Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah" = choekebox (msg, titel, kar)

08 of 10

Data Entry Box

De 'Multenterbox' kin jo gegevens fan brûkers opnimme. Richard Saville

Formulieren binne in geweldige manier om gegevens foar jo projekt te finen, en EasyGUI hat in opsje "multenterbox" dy't jo tagonklike fjilden sjen litte om ynformaasje te fangen.

Eartiids is it in gefallen fan etikettenfjilden en gewoan it ynfieren fan it ynfieren. Wy hawwe in foarbyld hjirboppe makke foar in ienfâldich ienfâldige gearkomste fan lidmaatskippij.

Der binne opsjes om validaasje te jaan en oare útwreide eigenskippen, dy't de EasyGUI-webside yn detail beskriuwt.

fan easygui ymportearje * ymplemintiid msg = "lidmaatskip" title = "Gymnotifikaasje formulier" fieldNames = ["foarnamme", "foarnamme", "âlde", "gewicht"] fieldValues ​​= [] # de startwearden fjildValues ​​= multenterbox (msg, title, fieldNames) printfjildValues

09 of 10

Foegje foto's taheakke

Foegje foto's oan jo bellen om in nije nije manier om de GUI te brûken. Richard Saville

Jo kinne bylden oan jo EasyGUI-ynterfaces taheakje troch ynklusyf in lyts bedrach fan koade.

Besparje in ôfbylding oan jo Raspberry Pi yn deselde map as jo EasyGUI-skript en meitsje in nota fan de triemnamme en útwreiding (bygelyks image1.png).

Litte wy it knopke knop as foarbyld brûke:

fan easygui ymportearje * ymplemintiid image = "RaspberryPi.jpg" msg = "Is dit in Raspberry Pi?" Choices = ["Ja", "Nee"] antwurd = buttonbox (msg, image = image, keuze = keuze) as antwurd == "Ja": print "Ja" oars: print "Nee"

10 of 10

Mear Avansearre eigenskippen

Jo kinne gjin betellingssysteem meitsje mei EasyGUI, mar jo kinne grappich pretsje! Richard Saville

Wy hawwe de wichtichste 'basis' EasyGUI-opsjes hjir nedich om jo te begjinnen, mar binne der in soad mear kisten opsjes en foarbylden beskikber ôfhinklik fan hoefolle jo leare wolle, en wat jo projekt nedich is.

Wachtwurdkisten, koade-kaarten, en sels bestânskasten binne beskikber om in pear te neamen. It is in tige versatile biblioteek dy't maklik yn minuten opnimme, mei guon grutte mooglikheden fan 'e hardware-kontrôle ek.

As jo ​​leare wolle hokker oare dingen lykas Java, HTML of mear binne te kopen , binne hjir de bêste online codearringswurden beskikber.