Přidání grafického uživatelského rozhraní (GUI) do vašeho projektu Raspberry Pi je skvělý způsob, jak zahrnout obrazovku pro zadávání dat, tlačítka na obrazovce pro ovládací prvky nebo chytřejší způsob, jak zobrazit hodnoty z komponent, jako jsou senzory. Tento článek používá standardní operační systém Raspbian.
Vytvořte rozhraní pro svůj projekt
Pro Raspberry Pi je k dispozici několik metod grafického uživatelského rozhraní. Většina z nich však má strmou křivku učení. Rozhraní Tkinter Python může být pro většinu výchozím nastavením, ale začátečníci se mohou potýkat s jeho složitostí. Podobně knihovna PyGame nabízí možnosti vytváření působivých rozhraní, ale může být nadměrná požadavkům. Pokud hledáte rychlé a přímočaré rozhraní pro váš projekt, může být řešením EasyGUI. Co mu chybí v grafické kráse, to více než vynahradí jeho jednoduchost a snadné použití.
Tento článek poskytuje úvod do knihovny, včetně některých nejužitečnějších možností, které jsme našli.
Stáhněte a importujte EasyGUI
Instalace knihovny bude známá, pokud jste použili metodu instalace apt-get. Na svém Raspberry Pi potřebujete připojení k internetu, a to pomocí kabelového připojení Ethernet nebo Wi-Fi. Tento příkaz stáhne knihovnu a nainstaluje ji za vás. To je vše, co musíte udělat.
-
Otevřete okno terminálu (ikona černé obrazovky na hlavním panelu vašeho Pi) a zadejte následující příkaz:
z importu easygui *
čas importuTato verze importu později usnadní kódování. Například při importu tímto způsobem, místo psaní easygui.msgbox, Můžeš použít msgbox.
-
Ve své nejjednodušší podobě poskytuje toto okno se zprávou řádek textu a jediné tlačítko, na které chcete kliknout. Zde je příklad k vyzkoušení. Po řádku importu zadejte následující řádek a uložte pomocí Ctrl+X:
z importu easygui *
čas importu
msg = „Super box, co?“
title = „Jsem schránka zpráv“
# Zde přidejte další příkazyZobrazí se okno se zprávou s Jsem schránka zpráv napsáno v horní liště a Super box, co? nad tlačítkem.
-
Někdy budete potřebovat, aby uživatel potvrdil akci nebo se rozhodl pokračovat. Pole ccbox nabízí stejný řádek textu jako výše uvedené primární pole se zprávou, ale poskytuje dvě tlačítka: Pokračovat a zrušení. Zde je příklad používaného s tiskem tlačítek pro pokračování a zrušení do terminálu. Po každém stisknutí tlačítka můžete akci změnit a dělat, co chcete:
z importu easygui *
čas importu
msg = „Chcete pokračovat?“
title = „Pokračovat?“
if ccbox (msg, title): # zobrazí dialogové okno Pokračovat / Zrušit
tisk „Uživatel vybrán pokračovat“
# Zde přidejte další příkazy
else: # uživatel zvolil Zrušit
tisk „Uživatel zrušen“
# Zde přidejte další příkazy -
Pokud vám možnosti vestavěného boxu nedávají to, co potřebujete, vytvořte si pomocí tlačítka buttonbox vlastní box s tlačítky. To je skvělé, pokud máte více možností, které potřebují zakrýt nebo možná ovládáte řadu LED diod nebo jiných komponent pomocí uživatelského rozhraní. Zde je příklad výběru omáčky pro objednávku:
z importu easygui *
čas importu msg = „Jakou omáčku byste chtěli?“
volby = [„Mild“,“Hot“,“Extra Hot“]
response = buttonbox (msg, choices = choices) pokud odpověď == „Mírná“:
tisknout odpověď
pokud odpověď == „Hot“:
tisknout odpověď
if reply == „Extra Hot“:
tisknout odpověď -
Tlačítka jsou skvělá, ale pro dlouhý seznam možností má výběr pole smysl. Tato pole obsahují seznam dostupných možností v řádcích, jeden za druhým. An OK a zrušení krabice je na stranu. Jedná se o rozumně inteligentní možnosti řazení podle abecedy a také umožňuje stisknutím klávesy přejít na první možnost daného písmene. Zde je příklad ukazující deset jmen, které můžete vidět, byly seřazeny na snímku obrazovky.
z importu easygui *
čas importu
msg = „Kdo vypustil psy?“
title = „Chybějící psi“
volby = [„Alex“, „Cat“, „Michael“, „James“, „Albert“, „Phil“, „Yasmin“, „Frank“, „Tim“, „Hannah“]
choice = choicebox (zpráva, název, volby) -
Formuláře jsou skvělý způsob, jak zachytit data pro váš projekt. EasyGUI má možnost multenterboxu, která vám umožňuje zobrazit pole se štítkem a získat tak informace. Jedná se o případ označení polí a zachycení vstupu. Níže uvedený příklad je pro jednoduchý registrační formulář členství v tělocvičně. Existují možnosti přidání ověření a dalších pokročilých funkcí, které web EasyGUI podrobně pokrývá.
z importu easygui *
čas importu
msg = „Informace o členech“
title = „Formulář pro členství v tělocvičně“
fieldNames = [„First Name“,“Surname“,“Age“,“Weight“]
fieldValues = [] # počáteční hodnoty
fieldValues = multenterbox (msg, title, fieldNames)
tiskové poleHodnoty -
Můžete přidat obrázky do svých rozhraní EasyGUI zahrnutím minimálního množství kódu. Uložte obrázek na svůj Raspberry Pi do stejného adresáře jako váš skript EasyGUI a poznamenejte si název a příponu souboru (například image1.png). Jako příklad slouží pole s tlačítky:
z importu easygui *
čas importu
image = „RaspberryPi.jpg“
msg = „Je to Raspberry Pi?“
volby = [„Yes“,“No“]
odpověď = schránka na tlačítka (zpráva, obrázek = obrázek, volby = volby)
pokud odpověď == „Ano“:
tisk „Ano“
jiný:
vytisknout „Ne“
Pokročilejší funkce
K dispozici je více možností pole a příkladů v závislosti na tom, kolik se toho chcete naučit a co váš projekt vyžaduje.
K dispozici jsou pole pro heslo, pole pro kód a pole pro soubory. Je to všestranná knihovna, kterou lze snadno vyzvednout během několika minut, a také s některými vynikajícími možnostmi ovládání hardwaru. Pokud se chcete naučit kódovat jiné věci, jako je Java, HTML nebo další, podívejte se na nejlepší dostupné zdroje pro kódování online.