Vytvárajte jednoduché GUI s Raspberry Pi pomocou EasyGUI

Pridanie grafického používateľského rozhrania (GUI) tvojmu Malinový koláč project je skvelý spôsob, ako zahrnúť obrazovku na zadávanie údajov, tlačidlá na obrazovke pre ovládacie prvky alebo inteligentnejší spôsob zobrazenia hodnôt z komponentov, ako sú senzory.

Tento článok používa štandardný operačný systém Raspbian.

Vytvorte rozhranie pre svoj projekt

Pre Raspberry Pi je k dispozícii niekoľko metód GUI. Väčšina z nich má však strmú krivku učenia.

Rozhranie Tkinter Python môže byť predvolenou voľbou pre väčšinu, ale začiatočníci môžu bojovať s jeho zložitosťou. Podobne knižnica PyGame ponúka možnosti vytvárania pôsobivých rozhraní, ale môže byť prebytočná.

Ak hľadáte rýchle a jednoduché rozhranie pre svoj projekt, EasyGUI môže byť odpoveďou. Čo mu chýba na grafickej kráse, to viac než vynahrádza jednoduchosťou a jednoduchosťou ovládania.

Schránky správ EasyGUI

Tento článok obsahuje úvod do knižnice vrátane niektorých najužitočnejších možností, ktoré sme našli.

Stiahnite si a importujte EasyGUI

Inštalácia knižnice bude známa, ak ste použili metódu inštalácie apt-get. Na svojom Raspberry Pi potrebujete internetové pripojenie pomocou káblového pripojenia

Ethernet alebo Wi-Fi spojenie.

Tento príkaz stiahne knižnicu a nainštaluje ju za vás. To je všetko nastavenie, ktoré musíte urobiť.

  1. Otvorte okno terminálu (ikona čiernej obrazovky na paneli úloh vášho Pi) a zadajte nasledujúci príkaz:

    z importu easygui *
    čas importu

    Importovať EasyGUI

    Táto verzia importu uľahčuje neskoršie kódovanie. Napríklad pri importe týmto spôsobom namiesto zápisu easygui.msgbox, môžeš použiť msgbox.

  2. Vo svojej najjednoduchšej forme, toto schránka správ poskytuje riadok textu a jediné tlačidlo na kliknutie. Tu je príklad na vyskúšanie. Za riadok importu zadajte nasledujúci riadok a uložte pomocou Ctrl+X:

    z importu easygui *
    čas importu
    msg = "Skvelý box, čo?"
    title = "Som schránka správ"
     # Tu pridajte ďalšie príkazy

    Zobrazí sa okno so správou s Som schránka správ napísané v hornej lište a Cool box, čo? nad tlačidlom.

    EasyGUI Message Box
  3. Niekedy budete potrebovať, aby používateľ potvrdil akciu alebo sa rozhodol pokračovať. Pole ccbox ponúka rovnaký riadok textu ako primárne pole so správou vyššie, ale obsahuje dve tlačidlá: ďalej a Zrušiť.

    Tu je príklad jedného, ​​ktorý sa používa, pričom tlačidlá Pokračovať a Zrušiť sa tlačia na terminál. Akciu po každom stlačení tlačidla môžete zmeniť, aby ste urobili čokoľvek, čo chcete:

    z importu easygui *
    čas importu
    msg = "Chceli by ste pokračovať?"
    title = "Pokračovať?"
    if ccbox (správa, názov): # zobrazí dialógové okno Pokračovať/Zrušiť
     vytlačiť "Pokračovať vybraté používateľom"
     # Tu pridajte ďalšie príkazy
     else: # používateľ zvolil možnosť Zrušiť
     vytlačiť "Používateľ zrušený"
     # Tu pridajte ďalšie príkazy

    EasyGUI Continue Cancel Box
  4. Ak vám vstavané možnosti boxu nedávajú to, čo potrebujete, vytvorte si vlastný box s tlačidlami pomocou gombíková skrinka vlastnosť. To je skvelé, ak máte viac možností, ktoré potrebujú pokrytie alebo možno ovládate množstvo LED diód alebo iných komponentov pomocou používateľského rozhrania.

    Tu je príklad výberu omáčky pre objednávku:

    z importu easygui *
    import time msg = "Akú omáčku si prajete?"
    možnosti = ["Mild","Horúce","Extra Hot"]
    odpovedať = buttonbox (správa, voľby=možnosti), ak odpoveď == "Mierne":
    vytlačiť odpoveď
    ak odpoveď == "Hot":
    vytlačiť odpoveď
    if answer == "Extra Hot":
    vytlačiť odpoveď

    Tlačidlo EasyGUI
  5. Tlačidlá sú skvelé, ale pre dlhé zoznamy možností a výberové políčko dáva zmysel. Tieto polia uvádzajú zoznam dostupných možností v riadkoch, jeden po druhom. An OK a Zrušiť krabica je na boku. Sú primerane inteligentné, zoraďujú možnosti podľa abecedy a tiež vám umožňujú stlačením klávesu prejsť na prvú možnosť daného písmena.

    Tu je príklad zobrazujúci desať mien, ktoré môžete vidieť, že boli zoradené na snímke obrazovky.

    z importu easygui *
    čas importu
    msg ="Kto pustil psov von?"
    názov = "Chýbajúci psi"
    možnosti = ["Alex", "Mačka", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"]
    výber = výberové pole (správa, názov, možnosti)

    EasyGUI Choice Box
  6. Formuláre sú skvelým spôsobom, ako zachytiť údaje pre váš projekt. EasyGUI má a multibox možnosť, ktorá vám umožňuje zobraziť označené polia na získanie informácií.

    Ide o označovanie polí a zachytávanie vstupu. Príklad nižšie je pre jednoduchý registračný formulár členstva v telocvični.

    Existujú možnosti na pridanie overenia a ďalších pokročilých funkcií, ktorým sa webová stránka EasyGUI podrobne venuje.

    z importu easygui *
    čas importu
    msg = "Informácie o členovi"
    title = "Členský formulár v posilňovni"
    fieldNames = ["Krstné meno","Priezvisko","Vek","Hmotnosť"]
    fieldValues ​​= [] # počiatočné hodnoty
    fieldValues ​​= multibox (správa, názov, názvy polí)
    vytlačiť hodnoty poľa

    EasyGUI Multiterbox
  7. Obrázky môžete pridať do svojich rozhraní EasyGUI zahrnutím minimálneho množstva kódu. Uložte obrázok do svojho Raspberry Pi v rovnakom adresári ako váš skript EasyGUI a poznačte si názov súboru a príponu (napr. image1.png).

    Použitie poľa s tlačidlami ako príklad:

    z importu easygui *
    čas importu
    image = "RaspberryPi.jpg"
    msg = "Je toto Raspberry Pi?"
    možnosti = ["Áno","Nie"]
    odpoveď = buttonbox (správa, obrázok=obrázok, voľby=možnosti)
    ak odpoveď == "Áno":
    vytlačiť "Áno"
    inak:
    vytlačiť "Nie"

    Obrázky EasyGUI

Pokročilejšie funkcie

K dispozícii je viac možností boxov a príkladov v závislosti od toho, koľko sa chcete naučiť a čo váš projekt vyžaduje.

Heslo EasyGUI

K dispozícii sú boxy na heslá, kódy a súbory so súbormi, aby sme vymenovali aspoň niektoré. Je to všestranná knižnica, ktorá sa dá ľahko vybrať v priebehu niekoľkých minút, spolu s vynikajúcimi možnosťami ovládania hardvéru.

Ak sa chcete naučiť kódovať ďalšie veci, ako je Java, HTML alebo ďalšie, pozrite si najlepšie dostupné zdroje online kódovania.