Dodanie graficznego interfejsu użytkownika (GUI) do projektu Raspberry Pi to świetny sposób na umieszczenie ekranu wprowadzania danych, przycisków ekranowych do sterowania lub nawet inteligentniejszego sposobu wyświetlania odczytów z takich komponentów, jak czujniki.
01 z 10Stwórz interfejs dla twojego projektu

Dla Raspberry Pi dostępnych jest wiele różnych metod GUI, jednak większość z nich ma stromą krzywą uczenia się.
Interfejs Tkinter Python może być domyślną opcją "go-to" dla większości, jednak początkujący mogą zmagać się z jej złożonością. Podobnie biblioteka PyGame oferuje opcje tworzenia imponujących interfejsów, ale może być nadwyżką w stosunku do wymagań.
Jeśli szukasz prostego i szybkiego interfejsu do swojego projektu, EasyGUI może być odpowiedzią. To, czego brakuje mu w graficznej piękności, nadrabia swoją prostotą i łatwością użytkowania.
W tym artykule znajdziesz wprowadzenie do biblioteki, w tym niektóre z najbardziej przydatnych opcji, które znaleźliśmy.
Kontynuuj czytanie poniżej
02 z 10Pobieranie i importowanie EasyGUI

W tym artykule używamy standardowego systemu operacyjnego Raspbian.
Instalacja biblioteki będzie znanym procesem dla większości osób, przy użyciu metody "apt-get install". Będziesz potrzebował połączenia internetowego na swoim Raspberry Pi, używając przewodowego połączenia Ethernet lub Wi-Fi.
Otwórz okno terminala (ikonę czarnego ekranu na pasku zadań Pi) i wpisz następujące polecenie:
apt-get install python-easygui
To polecenie pobierze bibliotekę i zainstaluje ją dla ciebie, i to wszystko, co musisz zrobić. Kontynuuj czytanie poniżej Aby móc korzystać z jego funkcji, EasyGUI musi zostać zaimportowany do skryptu. Osiąga się to poprzez wpisanie pojedynczej linii u góry skryptu i jest takie samo niezależnie od używanych opcji interfejsu EasyGUI. Utwórz nowy skrypt, wpisując w oknie terminala następujące polecenie: sudo nano easygui.py
Pojawi się pusty ekran - jest to pusty plik (nano to po prostu nazwa edytora tekstu). Aby zaimportować EasyGUI do skryptu, wprowadź następujący wiersz: z importu easygui *
Używamy tej konkretnej wersji importu, aby później ułatwić kodowanie. Na przykład, podczas importowania tej eway, zamiast pisać "easygui.msgbox" możemy po prostu użyć "msgbox". Omówmy teraz niektóre z kluczowych opcji interfejsu w EasyGUI. To "okno komunikatu" w najprostszej postaci daje użytkownikowi linię tekstu i pojedynczy przycisk do kliknięcia. Oto przykład, aby spróbować - wpisz następujący wiersz po linii importu i zapisz za pomocą Ctrl + X: msgbox ("Cool box huh?", "Jestem skrzynką wiadomości")
Aby uruchomić skrypt, użyj następującego polecenia: sudo python easygui.py
Powinieneś zobaczyć okno komunikatu, z Jestem skrzynką wiadomości napisane w górnym pasku, oraz Cool box, huh? nad przyciskiem. Kontynuuj czytanie poniżej Czasami użytkownik musi potwierdzić działanie lub zdecydować, czy kontynuować. W polu "ccbox" znajduje się ta sama linia tekstu, co podstawowe pole komunikatu powyżej, ale zawiera 2 przyciski - dalej i Anuluj. Oto przykład jednego z nich, z przyciskami kontynuuj i anuluj, drukującymi do terminala. Możesz zmienić akcję po każdym naciśnięciu przycisku, aby zrobić cokolwiek chcesz: z importu easygui *czas importumsg = "Czy chcesz kontynuować?"title = "Kontynuuj?"jeśli ccbox (msg, title): # show a Continue / Cancel dialog print "Wybrano użytkownika kontynuuj" # Dodaj inne polecenia tutaj else: # użytkownik wybrał Anuluj print "Użytkownik anulowany" # Dodaj inne polecenia tutaj 06 z 10 Jeśli wbudowane opcje w pudełku nie zapewniają dokładnie tego, czego potrzebujesz, możesz utworzyć niestandardowe pole przycisku za pomocą funkcji "buttonbox". To świetnie, jeśli masz więcej opcji, które wymagają zakrycia, lub może kontrolujesz liczbę diod LED lub innych komponentów za pomocą interfejsu użytkownika. Oto przykład wyboru sosu do zamówienia: z importu easygui *czas importu msg = "Jaki sos chcesz?"choice = "Mild", "Hot", "Extra Hot"reply = buttonbox (msg, choices = choices), jeśli odpowiedź == "Mild": drukuj odpowiedźjeśli odpowiedź == "Hot": drukuj odpowiedźjeśli odpowiedź == "Extra Hot": drukuj odpowiedź
Kontynuuj czytanie poniżej Przyciski są świetne, ale w przypadku długiej listy opcji "pole wyboru" ma wiele sensu. Spróbuj dopasować 10 przycisków w pudełku, a wkrótce się zgodzisz! W tych polach wyświetlane są dostępne opcje w wierszach jeden po drugim, z okienkiem "OK" i "Anuluj" na bok. Są rozsądnie inteligentne, sortując opcje alfabetycznie, a także pozwalając nacisnąć klawisz, aby przejść do pierwszej opcji tej litery. Oto przykład pokazujący dziesięć nazw, które widzisz zostały posortowane na zrzucie ekranu. z importu easygui *czas importumsg = "Kto wypuścił psy?"title = "Zaginione psy"choices = "Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"choice = choicebox (msg, title, choices) 08 z 10 Formularze to świetny sposób na przechwytywanie danych do projektu, a EasyGUI ma opcję "multenterbox", która pozwala wyświetlać oznaczone pola, aby przechwytywać informacje. Ponownie jest to przypadek etykietowania pól i po prostu przechwytywanie danych wejściowych. Poniższy przykład ilustruje bardzo prosty formularz rejestracji członkostwa w siłowni. Istnieją opcje dodawania sprawdzania poprawności i inne zaawansowane funkcje, które szczegółowo omawia witryna EasyGUI. z importu easygui *czas importumsg = "Informacje o członkach"title = "Formularz uczestnictwa w siłowni"fieldNames = "Imię", "Nazwisko", "Wiek", "Waga"fieldValues = # wartości początkowefieldValues = multenterbox (msg, title, fieldNames)print fieldValues Kontynuuj czytanie poniżej Możesz dodawać obrazy do interfejsów EasyGUI, dołączając bardzo małą ilość kodu. Zapisz obraz w swoim Raspberry Pi w tym samym katalogu co twój skrypt EasyGUI i zanotuj nazwę pliku i rozszerzenie (na przykład image1.png ). Użyjmy pola z przyciskami jako przykładu: z importu easygui *czas importuimage = "RaspberryPi.jpg"msg = "Czy to jest Raspberry Pi?"choices = "Tak", "Nie"reply = buttonbox (msg, image = image, choices = choices)jeśli odpowiedź == "Tak": wydrukuj "Tak"jeszcze: wydrukuj "Nie" 10 z 10 Omówiliśmy główne "podstawowe" opcje EasyGUI, aby rozpocząć, jednak istnieje wiele innych opcji i przykładów pól, w zależności od tego, ile chcesz się nauczyć i czego wymaga Twój projekt. Pola hasła, pola kodowe, a nawet skrzynki z plikami są dostępne, aby wymienić tylko kilka. Jest to bardzo wszechstronna biblioteka, która jest łatwa do odbioru w ciągu kilku minut, z pewnymi doskonałymi możliwościami sterowania sprzętem. Jeśli chcesz dowiedzieć się, jak kodować inne rzeczy, takie jak Java, HTML lub więcej, możesz zobaczyć najlepsze dostępne zasoby do kodowania online. Importuj EasyGUI

Podstawowy komunikat

Kontynuuj lub anuluj pole

Niestandardowe okno przycisku

Skrzynka wyboru

Pole wprowadzania danych

Dodawanie zdjęć

Bardziej zaawansowane funkcje





