Направете едноставни GUI-ови со малина Пи со помош на EasyGUI

Додавањето графички кориснички интерфејс (GUI) на вашиот проект Raspberry Pi е одличен начин да се вклучи екран за внесување на податоци, копчиња на екранот за контроли или дури и попаметен начин за прикажување на читања од компоненти како сензори.

01 од 10

Направете интерфејс за вашиот проект

EasyGUI е брз и едноставен проект кој ќе се обиде овој викенд. Ричард Савил

Постојат голем број на различни GUI методи достапни за Малина Пи, меѓутоа, повеќето од нив имаат стрмна крива на учење.

Интерфејсот на Tkinter Python може да биде стандардна опција за "Оди на" за повеќето, сепак, почетниците можат да се борат со својата сложеност. Слично на тоа, PyGame библиотеката нуди опции за изработка на импресивни интерфејси, но може да биде вишок на барањата.

Ако барате едноставен и брз интерфејс за вашиот проект, EasyGUI би можел да биде одговорот. Она што му недостасува во графичката убавина повеќе од тоа ја прави во својата едноставност и леснотија на користење.

Оваа статија ќе ви даде вовед во библиотеката, вклучувајќи и некои од најкорисните опции што ги најдовме.

02 од 10

Преземање и внесување на EasyGUI

EasyGUI инсталацијата е едноставна со методот apt-get install. Ричард Савил

За оваа статија, го користиме стандардниот оперативен систем Raspbian кој е достапен тука.

Инсталирањето на библиотеката ќе биде познат процес за повеќето, користејќи го методот apt-get install. Ќе ви треба интернет конекција на вашиот Raspberry Pi, користејќи жичен етернет или WiFi конекција.

Отворете го терминалниот прозорец (иконата на црниот екран во лентата со задачи на Pi) и внесете ја следнава команда:

apt-get инсталирај python-easygui

Оваа команда ќе ја преземе библиотеката и ќе ја инсталира за вас, и тоа е сета поставка што треба да ја направите.

03 од 10

Внесете EasyGUI

Увезувањето EasyGUI трае само една линија. Ричард Савил

EasyGUI треба да се внесе во сценариото пред да можете да ги користите неговите функции. Ова се постигнува со внесување на една линија на врвот на вашата скрипта и е иста без оглед на кои опции на EasyGUI интерфејсот ги користите.

Направете нова скрипта со внесување на следнава команда во вашиот терминален прозорец:

sudo nano easygui.py

Ќе се појави празен екран - ова е вашата празна датотека (нано е едноставно име на текстуален уредувач). За да го внесете EasyGUI во вашата скрипта, внесете ја следнава линија:

од easygui увоз *

Ние ја користиме оваа специфична верзија на увозот за полесно кодирање подоцна. На пример, при внесување на ова, наместо да пишувате "easygui.msgbox", едноставно можеме да го користиме "msgbox".

Сега да ги покриеме некои од клучните опции за интерфејс во EasyGUI.

04 од 10

Основна кутија за пораки

Едноставното поле за пораки е одличен начин да се започне со EasyGUI. Ричард Савил

Оваа кутија за пораки, во својата наједноставна форма, му дава на корисникот текстуална линија и едно копче за кликање. Еве еден пример за обид - внесете ја следната линија по вашата линија за внесување и зачувајте го користејќи Ctrl + X:

msgbox ("Кутија кутија, нели?", "Јас сум кутија за пораки")

За да ја стартувате скриптата, користете ја следнава команда:

sudo python easygui.py

Треба да се појави кутија со пораки, со 'Јас сум кутија за пораки' напишана во горната лента, и 'Кутија кутија, нели?' над копчето.

05 од 10

Продолжи или Откажи кутија

Полето Продолжи / Откажи може да додаде потврда за вашите проекти. Ричард Савил

Понекогаш ќе треба на корисникот да потврди некое дејствие или да избере дали да продолжи или не. Кутијата "cbox" нуди иста линија на текст како основното поле за пораки погоре, но обезбедува 2 копчиња - "Продолжи" и "Откажи".

Еве еден пример за оној што се користи, со копчињата за продолжување и откажување печатење до терминалот. Можете да го промените дејството откако секое притискање на копче ќе го направи она што сакате:

од easygui увоз * време на увоз msg = "Дали сакате да продолжите?" title = "Продолжи?" ако ccbox (msg, title): # прикажи го дијалогот Продолжи / Откажи "Избраниот корисник продолжи" # Додади други команди тука: # корисникот избра Откажи печати "Корисник откажан" # Додади други команди тука

06 од 10

Приспособена кутија за копчиња

"Копчето за копчиња" ви овозможува да направите опции за копче. Ричард Савле

Ако вградените опции на кутијата не ви го дадат она што ви треба, можете да креирате сопствено копче со помош на копчето "копче".

Ова е одлично ако имате повеќе опции кои треба да ги покриваат, или можеби контролираат голем број ЛЕР или други компоненти со корисничкиот интерфејс.

Еве пример за избор на сос за нарачка:

од easygui увоз * увоз време msg = "Кој сос би сакал?" избори = ["Благи", "Топла", "Екстремно жешка"] одговор = копче за копчиња (msg, избори = избори) ако одговорот == "Млади": отпечати одговор ако одговорот == "Топло": отпечати одговор ако одговорот == "Extra Hot": отпечатен одговор

07 од 10

Изборна кутија

Изборот кутија е одлична за подолги листи на предмети. Ричард Савил

Копчињата се одлични, но за долгите списоци на опции, "кутијата за избор" има многу смисла. Обидете се да ги вклопите 10 копчиња во кутија и наскоро ќе се согласите!

Овие квадратчиња ги прикажуваат достапните опции во редови еден по друг, со "ОК" и "Откажи" на страната. Тие се разумно паметни, сортирање на опциите по азбучен ред и истовремено овозможувајќи ви да притиснете копче за да скокнете до првата опција на тоа писмо.

Еве еден пример кој покажува десет имиња, кои можете да ги видите е сортиран во екранот.

од easygui увоз * увоз време msg = "Кој ги пушти кучињата?" "Алекс", "Кат", "Мајкл", "Џејмс", "Алберт", "Фил", "Јасмин", "Френк", "Тим", "Хана") изборот = избор за избор (порака, наслов, избор)

08 од 10

Поле за внесување на податоци

'Multenterbox' ви овозможува да снимате податоци од корисници. Ричард Савил

Формите се одличен начин за фаќање на податоци за вашиот проект, а EasyGUI има опција 'multenterbox' која ви овозможува да ги прикажувате означените полиња за да ги фатите информациите.

Уште еднаш тоа е случај на етикетирање полиња и едноставно фаќањето на влезот. Подолу подолу дадовме пример за пријавување за членство во салата.

Постојат опции за додавање валидација и други напредни функции, кои веб-страницата EasyGUI ги опфаќа во детали.

од easygui увоз * време на увоз msg = "Информации за членовите" title = "Формулар за членско членство" fieldNames = ["Име", "Презиме", "Возраст", "Тежина"] fieldValues ​​= [] # почетните вредности fieldValues ​​= multenterbox (msg, title, fieldNames) поле за печатењеНапомени

09 од 10

Додавање слики

Додајте слики во вашите кутии за сосема нов начин за користење на GUI. Ричард Савил

Можете да додадете слики на вашиот EasyGUI интерфејс со вклучување на многу мала количина на код.

Зачувајте слика на вашиот Raspberry Pi во истиот директориум како и вашата скрипта EasyGUI и направете белешка за името на датотеката и продолжувањето (на пример, image1.png).

Ајде да го искористиме полето со копчиња како пример:

од easygui увоз * увоз време image = "RaspberryPi.jpg" msg = "Дали е ова Малина Пи?" избори = ["Да", "Не"] одговор = копче за копчиња (msg, слика = слика, избори = избори) ако одговорот == "Да": отпечатете "Да" друго:

10 од 10

Повеќе напредни функции

Не можете да направите платните системи со EasyGUI, но можете да уживате во преправањето !. Ричард Савил

Ги опфативме основните "основни" опции EasyGUI тука за да започнете, меѓутоа, има многу повеќе опции и примери на кутии во зависност од тоа колку сакате да научите и што вашиот проект бара.

Лозинките, шифрата за кодови, па дури и датотечните полиња се достапни за да ги именувате неколку. Тоа е многу разновидна библиотека која лесно може да се подигне за неколку минути, со некои одлични можности за контрола на хардверот.

Ако сакате да научите како да кодирате други работи како Јава, HTML или повеќе, тука се најдобрите достапни достапни кодирани ресурси .