Durch das Hinzufügen einer grafischen Benutzeroberfläche (GUI) zu Ihrem Raspberry Pi-Projekt können Sie einen Bildschirm zur Dateneingabe, Bildschirmschaltflächen für Steuerelemente oder sogar eine intelligentere Methode zum Anzeigen von Messwerten von Komponenten wie Sensoren hinzufügen.
01 von 10Machen Sie eine Schnittstelle für Ihr Projekt
Es gibt eine Reihe verschiedener GUI-Methoden für den Raspberry Pi, die meisten haben jedoch eine steile Lernkurve.
Die Tkinter Python-Benutzeroberfläche ist für die meisten Benutzer die Standardoption "Go-To". Anfänger können jedoch mit ihrer Komplexität kämpfen. In ähnlicher Weise bietet die PyGame-Bibliothek Optionen zum Erstellen eindrucksvoller Schnittstellen, kann jedoch den Anforderungen übersteigen.
Wenn Sie nach einer einfachen und schnellen Schnittstelle für Ihr Projekt suchen, könnte EasyGUI die Antwort sein. Was ihm an grafischer Schönheit fehlt, macht es in seiner Einfachheit und Benutzerfreundlichkeit mehr als wett.
In diesem Artikel erhalten Sie eine Einführung in die Bibliothek sowie einige der nützlichsten Optionen, die wir gefunden haben.
Lesen Sie weiter unten
02 von 10Herunterladen und Importieren von EasyGUI
Für diesen Artikel verwenden wir das Standard-Raspbian-Betriebssystem.
Die Installation der Bibliothek ist für die meisten mit der Methode "apt-get install" ein vertrauter Vorgang. Sie benötigen eine Internetverbindung auf Ihrem Raspberry Pi, entweder über eine kabelgebundene Ethernet- oder WLAN-Verbindung.
Öffnen Sie ein Terminalfenster (das Symbol eines schwarzen Bildschirms in der Taskleiste Ihres Pi) und geben Sie den folgenden Befehl ein:
apt-get install python-easygui
Dieser Befehl lädt die Bibliothek herunter und installiert sie für Sie, und das ist alles, was Sie tun müssen. Lesen Sie weiter unten EasyGUI muss in ein Skript importiert werden, bevor Sie dessen Funktionen verwenden können. Dies wird durch Eingabe einer einzelnen Zeile oben in Ihrem Skript erreicht und ist gleich, unabhängig davon, welche EasyGUI-Schnittstellenoptionen Sie verwenden. Erstellen Sie ein neues Skript, indem Sie den folgenden Befehl in Ihr Terminalfenster eingeben: sudo nano easygui.py
Es erscheint ein leerer Bildschirm - dies ist Ihre leere Datei (nano ist einfach der Name eines Texteditors). Um EasyGUI in Ihr Skript zu importieren, geben Sie die folgende Zeile ein: aus easygui import *
Wir verwenden diese spezielle Version des Imports, um das Codieren später noch einfacher zu machen. Wenn Sie beispielsweise dieses eway importieren, müssen Sie, anstatt "easygui.msgbox" zu schreiben, einfach "msgbox" verwenden. Lassen Sie uns nun einige der wichtigsten Schnittstellenoptionen in EasyGUI behandeln. Dieses "Meldungsfeld" gibt dem Benutzer in seiner einfachsten Form eine Textzeile und eine einzige Schaltfläche zum Klicken. Beispiel: Versuchen Sie, die folgende Zeile nach Ihrer Importzeile einzugeben und mit zu speichern Strg + X: msgbox ("Cool Box huh?", "Ich bin eine Message Box")
Verwenden Sie den folgenden Befehl, um das Skript auszuführen: Sudo Python easygui.py
Es sollte ein Meldungsfeld mit angezeigt werden Ich bin eine Message Box geschrieben in der oberen Leiste und Kühlbox, nicht wahr? über dem Knopf. Lesen Sie weiter unten Manchmal muss der Benutzer eine Aktion bestätigen oder entscheiden, ob er fortfahren möchte oder nicht. Das Feld "ccbox" enthält die gleiche Textzeile wie das grundlegende Meldungsfeld oben, enthält jedoch 2 Schaltflächen - Fortsetzen und Stornieren. Hier ist ein Beispiel einer Anwendung, bei der die Schaltflächen Fortfahren und Abbrechen an das Terminal gesendet werden. Sie können die Aktion nach jedem Tastendruck ändern, um das zu tun, was Sie möchten: aus easygui import *Importzeitmsg = "Möchten Sie fortfahren?"title = "Weiter?"if ccbox (msg, title): # Zeigt ein Fortfahren / Abbrechen-Dialogfeld an print "Benutzer ausgewählt weiter" # Fügen Sie hier weitere Befehle hinzu else: # Benutzer hat Abbrechen gewählt print "Benutzer abgebrochen" # Fügen Sie hier weitere Befehle hinzu 06 von 10 Wenn Sie mit den Optionen der integrierten Box nicht genau das bekommen, was Sie benötigen, können Sie mithilfe der Funktion "Buttonbox" eine benutzerdefinierte Schaltflächenbox erstellen. Dies ist ideal, wenn Sie mehr Optionen haben, die abgedeckt werden müssen, oder möglicherweise mehrere LEDs oder andere Komponenten mit der Benutzeroberfläche steuern. Hier ist ein Beispiel für die Auswahl einer Soße für eine Bestellung: aus easygui import *import time msg = "Welche Soße würdest du gerne?"options = "Mild", "Hot", "Extra Hot"Antwort = Buttonbox (msg, Auswahl = Auswahl), wenn Antwort == "Mild": Antwort druckenwenn antworten == "Hot": Antwort druckenwenn antworten == "Extra Hot": Antwort drucken
Lesen Sie weiter unten Schaltflächen sind großartig, aber für lange Optionslisten ist eine Auswahlbox sehr sinnvoll. Versuchen Sie, 10 Knöpfe in einer Box anzubringen, und Sie werden bald einverstanden sein! In diesen Feldern werden die verfügbaren Optionen nacheinander in Zeilen aufgeführt. Neben den Feldern "OK" und "Abbrechen" werden die Optionen angezeigt. Sie sind ziemlich intelligent und sortieren die Optionen alphabetisch. Außerdem können Sie eine Taste drücken, um zur ersten Option dieses Buchstabens zu springen. Hier ist ein Beispiel mit zehn Namen, die Sie im Screenshot sortiert sehen können. aus easygui import *Importzeitmsg = "Wer hat die Hunde rausgelassen?"title = "Vermisste Hunde"Entscheidungen = "Alex", "Katze", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"Wahl = Wahlbox (msg, Titel, Auswahlmöglichkeiten) 08 von 10 Formulare sind eine hervorragende Möglichkeit, Daten für Ihr Projekt zu erfassen, und EasyGUI verfügt über eine Multenterbox-Option, mit der Sie beschriftete Felder anzeigen können, um Informationen zu erfassen. Auch hier gilt es, Felder zu beschriften und die Eingabe einfach zu erfassen. Nachfolgend finden Sie ein Beispiel für ein sehr einfaches Anmeldeformular für Fitnessstudios. Es gibt Optionen zum Hinzufügen von Validierungs- und anderen erweiterten Funktionen, die auf der EasyGUI-Website ausführlich behandelt werden. aus easygui import *Importzeitmsg = "Mitgliedsinformationen"title = "Gym-Mitgliedschaftsformular"fieldNames = "Vorname", "Nachname", "Alter", "Gewicht"fieldValues = # die StartwertefieldValues = multenterbox (msg, title, fieldNames)fieldValues drucken Lesen Sie weiter unten Sie können Bilder zu Ihren EasyGUI-Schnittstellen hinzufügen, indem Sie sehr wenig Code hinzufügen. Speichern Sie ein Bild auf Ihrem Raspberry Pi im selben Verzeichnis wie Ihr EasyGUI-Skript, und notieren Sie den Dateinamen und die Erweiterung (z. B. image1.png ). Verwenden wir die Schaltflächenbox als Beispiel: aus easygui import *Importzeitimage = "RaspberryPi.jpg"msg = "Ist das ein Himbeer-Pi?"Auswahlen = "Ja", "Nein"Reply = Buttonbox (msg, image = image, Auswahl = Auswahl)wenn antworten == "Ja": Druck "Ja"sonst: Druck "Nein" 10 von 10 Wir haben hier die wichtigsten "grundlegenden" EasyGUI-Optionen beschrieben, um Ihnen den Einstieg zu erleichtern. Es stehen jedoch noch viele weitere Optionen und Beispiele zur Verfügung, je nachdem, wie viel Sie lernen möchten und was Ihr Projekt erfordert. Es gibt Kennwortfelder, Code-Felder und sogar Datei-Felder, um nur einige zu nennen. Es ist eine sehr vielseitige Bibliothek, die in wenigen Minuten leicht zu finden ist, und bietet auch einige großartige Möglichkeiten zur Hardwaresteuerung. Wenn Sie lernen möchten, wie Sie andere Dinge wie Java, HTML oder mehr codieren, können Sie die besten verfügbaren Online-Codierressourcen anzeigen. EasyGUI importieren
Grundlegendes Meldungsfeld
Fortsetzen oder Box abbrechen
Benutzerdefinierte Schaltflächenbox
Auswahlbox
Dateneingabefeld
Bilder hinzufügen
Weitere erweiterte Funktionen