Maak eenvoudige GUI's met de Raspberry Pi met EasyGUI

Een grafische gebruikersinterface toevoegen (GUI) aan jouw Raspberry Pi project is een geweldige manier om een ​​scherm op te nemen voor gegevensinvoer, knoppen op het scherm voor bedieningselementen of een slimmere manier om metingen van componenten zoals sensoren weer te geven.

Dit artikel gebruikt het standaard Raspbian-besturingssysteem.

Maak een interface voor uw project

Er zijn verschillende GUI-methoden beschikbaar voor de Raspberry Pi. De meeste hebben echter een steile leercurve.

De Tkinter Python-interface is voor de meesten misschien de standaardoptie, maar beginners kunnen worstelen met de complexiteit ervan. Evenzo biedt de PyGame-bibliotheek mogelijkheden om indrukwekkende interfaces te maken, maar deze kan overbodig zijn.

Als u op zoek bent naar een snelle en duidelijke interface voor uw project, kan EasyGUI het antwoord zijn. Wat het mist aan grafische schoonheid, maakt het meer dan goed in zijn eenvoud en gebruiksgemak.

EasyGUI-berichtenboxen

Dit artikel geeft een inleiding tot de bibliotheek, inclusief enkele van de handigste opties die we hebben gevonden.

Download en importeer EasyGUI

Het installeren van de bibliotheek zal bekend voorkomen als u de apt-get install-methode hebt gebruikt. Je hebt een internetverbinding nodig op je Raspberry Pi, met behulp van een bekabelde Ethernet of Wifi verbinding.

Met deze opdracht wordt de bibliotheek gedownload en voor u geïnstalleerd. Dat is alles wat je hoeft te doen.

  1. Open een terminalvenster (het pictogram van een zwart scherm op de taakbalk van je Pi) en voer de volgende opdracht in:

    van easygui import *
    import tijd

    EasyGUI importeren

    Deze versie van de import maakt het coderen later gemakkelijker. Als u bijvoorbeeld op deze manier importeert, in plaats van te schrijven easygui.msgbox, je kunt gebruiken msgbox.

  2. In zijn eenvoudigste vorm is dit berichten box geeft een regel tekst en een enkele knop om te klikken. Hier is een voorbeeld om te proberen. Voer de volgende regel in na uw importregel en sla op met Ctrl+x:

    van easygui import *
    import tijd
    msg = "Koeldoos hè?"
    title = "Ik ben een berichtenbox"
     # Voeg hier andere commando's toe

    Er verschijnt een berichtvenster met: Ik ben een berichtenbox geschreven in de bovenste balk, en Koelbox toch? boven de knop.

    EasyGUI-berichtenbox
  3. Soms heb je de gebruiker nodig om een ​​actie te bevestigen of om te kiezen of je door wilt gaan. De ccbox-box biedt dezelfde tekstregel als de primaire berichtbox hierboven, maar heeft twee knoppen: Doorgaan met en Annuleren.

    Hier is een voorbeeld van een in gebruik, waarbij de knoppen doorgaan en annuleren naar de terminal worden afgedrukt. U kunt de actie na elke druk op de knop wijzigen om te doen wat u maar wilt:

    van easygui import *
    import tijd
    msg = "Wilt u doorgaan?"
    title = "Doorgaan?"
    if ccbox (bericht, titel): # toon een dialoog Doorgaan/Annuleren
     print "Gebruiker geselecteerd doorgaan"
     # Voeg hier andere commando's toe
     anders: # gebruiker koos Annuleren
     print "Gebruiker geannuleerd"
     # Voeg hier andere commando's toe

    EasyGUI Doorgaan Annuleren Box
  4. Als de ingebouwde box-opties je niet geven wat je nodig hebt, maak dan een custom button box met de knopendoos functie. Dit is geweldig als je meer opties hebt die moeten worden afgedekt of misschien een aantal LED's of andere componenten met de gebruikersinterface wilt aansturen.

    Hier is een voorbeeld van het selecteren van saus voor een bestelling:

    van easygui import *
    import time msg = "Welke saus wilt u?"
    keuzes = ["Mild","Heet","Extra Heet"]
    reply = buttonbox (msg, choice=choices) if reply == "Mild":
    print antwoord
    if reply == "Heet":
    print antwoord
    if reply == "Extra Heet":
    print antwoord

    EasyGUI-knoppenkast
  5. Knoppen zijn geweldig, maar voor lange lijsten met opties is a keuzevak klinkt logisch. In deze vakken worden de beschikbare opties in rijen achter elkaar weergegeven. Een Oke en Annuleren doos staat aan de zijkant. Deze zijn redelijk slim, sorteren de opties alfabetisch en stellen je ook in staat om op een toets te drukken om naar de eerste optie van die letter te gaan.

    Hier is een voorbeeld met tien namen, waarvan u kunt zien dat ze zijn gesorteerd in de schermafbeelding.

    van easygui import *
    import tijd
    msg ="Wie heeft de honden uitgelaten?"
    title = "Vermiste Honden"
    keuzes = ["Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"]
    keuze = keuzevak (bericht, titel, keuzes)

    EasyGUI Keuzebox
  6. Formulieren zijn een geweldige manier om gegevens voor uw project vast te leggen. EasyGUI heeft een multibox optie waarmee u gelabelde velden kunt weergeven om informatie te verkrijgen.

    Het is een kwestie van velden labelen en de invoer vastleggen. Het onderstaande voorbeeld is voor een eenvoudig aanmeldingsformulier voor een sportschoollidmaatschap.

    Er zijn opties om validatie en andere geavanceerde functies toe te voegen, die de EasyGUI-website in detail behandelt.

    van easygui import *
    import tijd
    msg = "Ledeninformatie"
    title = "Lidmaatschapsformulier sportschool"
    fieldNames = ["Voornaam", "Achternaam", "Leeftijd", "Gewicht"]
    fieldValues ​​= [] # de startwaarden
    fieldValues ​​= multitenterbox (bericht, titel, veldnamen)
    print veldWaarden

    EasyGUI Multenterbox
  7. U kunt afbeeldingen toevoegen aan uw EasyGUI-interfaces door een minimale hoeveelheid code toe te voegen. Sla een afbeelding op uw Raspberry Pi op in dezelfde map als uw EasyGUI-script en noteer de bestandsnaam en extensie (bijvoorbeeld afbeelding1.png).

    Gebruik het knoppenvak als voorbeeld:

    van easygui import *
    import tijd
    image = "RaspberryPi.jpg"
    msg = "Is dit een Raspberry Pi?"
    keuzes = ["Ja","Nee"]
    reply = buttonbox (bericht, afbeelding=afbeelding, keuzes=keuzes)
    if reply == "Ja":
    druk "Ja" af
    anders:
    print "Nee"

    EasyGUI-afbeeldingen

Meer geavanceerde functies

Er zijn meer boxopties en voorbeelden beschikbaar, afhankelijk van hoeveel u wilt leren en wat uw project vereist.

EasyGUI-wachtwoord

Er zijn wachtwoordvakken, codevakken en bestandsvakken beschikbaar, om er maar een paar te noemen. Het is een veelzijdige bibliotheek die gemakkelijk in enkele minuten kan worden opgehaald, met ook een aantal uitstekende hardwarecontrolemogelijkheden.

Als je wilt leren hoe je andere dingen codeert, zoals Java, HTML of meer, bekijk dan de beste online beschikbare coderingsbronnen.