Направете Simple GUIs с Raspberry Pi с помощта на EasyGUI

Добавянето на графичен потребителски интерфейс (GUI) към проекта Raspberry Pi е чудесен начин за включване на екран за въвеждане на данни, бутони на екрана за управление или дори по-умен начин за показване на показания от компоненти като сензори.

01 от 10

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

EasyGUI е бърз и лесен проект, който да опитате този уикенд. Ричард Савил

Съществуват редица различни GUI методи, достъпни за Raspberry Pi, обаче, повечето от тях имат стръмна крива на обучение.

Интерфейсът на Tkinter Python може да бъде опцията по подразбиране "отидете" за повечето, но начинаещите могат да се борят със сложността си. По същия начин библиотеката на PyGame предлага опции за създаване на впечатляващи интерфейси, но може да бъде излишък от изискванията.

Ако търсите прост и бърз интерфейс за вашия проект, EasyGUI може да бъде отговорът. Това, което липсва в графичната красота, е повече от това, което го прави в своята простота и лекота на използване.

Тази статия ще ви запознае с библиотеката, включително някои от най-полезните опции, които открихме.

02 от 10

Изтегляне и импортиране на EasyGUI

Инсталацията на EasyGUI е лесна с помощта на метода "apt-get install". Ричард Савил

За тази статия използваме стандартната Raspbian операционна система, която е достъпна тук.

Инсталирането на библиотеката ще бъде познато за повечето, използвайки метода "apt-get install". Ще имате нужда от интернет връзка на вашия Raspberry Pi, като използвате кабелна Ethernet или WiFi връзка.

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

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

Тази команда ще изтегли библиотеката и ще я инсталира за вас, а това е цялата настройка, която трябва да направите.

03 от 10

Импортиране на EasyGUI

Импортирането на EasyGUI отнема само един ред. Ричард Савил

EasyGUI трябва да бъде импортиран в скрипт, преди да можете да използвате неговите функции. Това се постига чрез въвеждане на един ред в горната част на скрипта и е еднакъв независимо от кои опции на интерфейса EasyGUI използвате.

Създайте нов скрипт, като въведете следната команда в прозореца на терминала:

sudo nano easygui.py

Ще се покаже празен екран - това е вашият празен файл (нано е просто името на текстов редактор). За да импортирате EasyGUI в скрипта си, въведете следния ред:

от easygui внос *

Използваме тази конкретна версия на импорта, за да направим кодирането още по-лесно по-късно. Например, когато импортирате този eway, вместо да пишете 'easygui.msgbox', може просто да използвате 'msgbox'.

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

04 от 10

Основно поле за съобщения

Простото поле за съобщения е чудесен начин да започнете с EasyGUI. Ричард Савил

Това поле за съобщения в най-простата му форма дава на потребителя реда на текст и един бутон за кликване. Ето един пример, който трябва да опитате - въведете следния ред след реда за импортиране и запазете с помощта на Ctrl + X:

msgbox ("Хладна кутия, нали?", "Аз съм кутия за съобщения")

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

sudo python easygui.py

Трябва да видите поле за съобщения, като в горната лента е написано "Аз съм кутия за съобщения" и "Cool box huh?" над бутона.

05 от 10

Продължете или отменете полето

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

Понякога ще е необходимо потребителят да потвърди действие или да избере дали да продължи. Полето "ccbox" предлага същия ред текст като основното поле за съобщения по-горе, но предоставя 2 бутона - "Продължи" и "Отказ".

Ето един пример за използван, като бутоните за продължаване и анулиране отпечатват на терминала. Можете да промените действието, след като натиснете всеки бутон, за да направите каквото ви харесва:

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

06 от 10

Персонализирана кутия с бутони

"Кутията с бутони" ви позволява да създавате опции за потребителски бутони. Ричард Савле

Ако вградените опции на кутията не ви дават точно това, от което се нуждаете, можете да създадете персонализиран бутон с помощта на функцията "кутия с бутони".

Това е чудесно, ако имате повече опции, които трябва да покриете, или може би контролирате няколко светодиода или други компоненти с потребителския интерфейс.

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

от easygui импортиране * импортиране време msg = "Кой сос бихте искали?" => "Слаби": отпечатайте отговора, ако отговорът == "Горе": отпечатайте отговора, ако отговорът =========================================================================== "Extra Hot": Отпечатай отговора

07 от 10

Кутия за избор

Кутията за избор е чудесна за по-дълги списъци с елементи. Ричард Савил

Бутоните са чудесни, но за дългите списъци с опции "изборна кутия" има много смисъл. Опитайте да поставите 10 бутона в кутия и скоро ще се съгласите!

Тези полета изброяват наличните опции в редовете един след друг, като отметката е "OK" и "Отказ" отстрани. Те са разумно умни, сортират опциите по азбучен ред и също така ви позволяват да натиснете клавиш, за да преминете към първата опция на това писмо.

Ето един пример, който показва десет имена, които можете да видите, че са били сортирани в екранната снимка.

от easygui импортиране * импортиране време msg = "Кой пусна кучетата?" title = "Изчезнали кучета" избор = ["Алекс", "Кат", "Майкъл", "Джеймс", "Алберт", "Фил", "Ясмин", "Франк", "Тим", "Хана" = кутия за избор (msg, заглавие, избор)

08 от 10

Кутия за въвеждане на данни

"Multenterbox" ви позволява да улавяте данни от потребители. Ричард Савил

Формулярите са чудесен начин за заснемане на данни за вашия проект, а EasyGUI разполага с опция "multenterbox", която ви позволява да показвате етикетирани полета, за да улавяте информация.

Още веднъж това е случай на маркиране на полета и просто заснемане на входа. Направихме пример по-долу за много прост формуляр за членство в салона.

Има опции за добавяне на валидиране и други разширени функции, които уебсайтът EasyGUI обхваща подробно.

от easygui импорт * време за импортиране msg = "Информация за член" title = "Формуляр за членство в гимнастика" fieldNames = ["Име", "Фамилия", "Възраст", "Тегло"] fieldValues ​​= (msg, заглавие, fieldNames) отпечатайте полетоValues

09 от 10

Добавяне на изображения

Добавете изображения в кутиите си за изцяло нов начин за използване на GUI. Ричард Савил

Можете да добавяте изображения към интерфейсите на EasyGUI, като включвате много малко количество код.

Запазете изображение на вашата Raspberry Pi в същата директория като вашия EasyGUI скрипт и запишете името и разширението на файла (например image1.png).

Нека използваме кутията с бутони като пример:

от easygui импортиране * импортиране време image = "RaspberryPi.jpg" msg = "Това е малц Pi?" => "Да": отпечатайте "Да" друго: отпечатайте "Не", изберете "Да"

10 от 10

Още разширени функции

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

Ние покрихме основните "основни" варианти на EasyGUI тук, за да започнете, но има много повече опции и примери за кутии, в зависимост от това колко искате да научите и от какво се нуждаете вашият проект.

Пароли за парола, кодови полета и дори полета за файлове са на разположение, за да назоват няколко. Това е една много гъвкава библиотека, която е лесна за набиране в минути, с някои големи възможности за хардуерно управление, както добре.

Ако искате да научите как да кодирате други неща като Java, HTML или повече, тук са най -добрите налични ресурси за онлайн кодиране .