Δημιουργήστε απλά GUIs με το Raspberry Pi χρησιμοποιώντας το EasyGUI

Προσθέτοντας ένα γραφικό περιβάλλον χρήστη (GUI) στο έργο Raspberry Pi σας είναι ένας πολύ καλός τρόπος να συμπεριλάβετε μια οθόνη για την εισαγωγή δεδομένων, κουμπιά οθόνης για τα χειριστήρια ή ακόμα και έναν πιο έξυπνο τρόπο για να δείξετε αναγνώσεις από εξαρτήματα όπως αισθητήρες.

01 από 10

Κάντε μια διεπαφή για το έργο σας

Το EasyGUI είναι ένα γρήγορο και απλό έργο για να δοκιμάσετε αυτό το Σαββατοκύριακο. Ρίτσαρντ Σαβίλ

Υπάρχει ένας αριθμός διαφορετικών μεθόδων GUI που διατίθενται για το Raspberry Pi, ωστόσο, οι περισσότεροι έχουν μια απότομη καμπύλη μάθησης.

Η διεπαφή Tkinter Python μπορεί να είναι η προεπιλεγμένη επιλογή 'go to' για τους περισσότερους, όμως οι αρχάριοι μπορούν να αγωνιστούν με την πολυπλοκότητά της. Ομοίως, η βιβλιοθήκη PyGame προσφέρει επιλογές για τη δημιουργία εντυπωσιακών διεπαφών, αλλά μπορεί να είναι πλεόνασμα στις απαιτήσεις.

Αν ψάχνετε για μια απλή και γρήγορη διεπαφή για το έργο σας, η EasyGUI θα μπορούσε να είναι η απάντηση. Αυτό που του λείπει με την γραφική ομορφιά είναι κάτι περισσότερο από την αναπαράσταση με την απλότητα και την ευκολία χρήσης του.

Αυτό το άρθρο θα σας δώσει μια εισαγωγή στη βιβλιοθήκη, συμπεριλαμβανομένων μερικών από τις πιο χρήσιμες επιλογές που έχουμε βρει.

02 από 10

Λήψη και εισαγωγή του EasyGUI

Η εγκατάσταση του EasyGUI είναι απλή με τη μέθοδο 'apt-get install'. Ρίτσαρντ Σαβίλ

Για αυτό το άρθρο, χρησιμοποιούμε το βασικό λειτουργικό σύστημα Raspbian που είναι διαθέσιμο εδώ.

Η εγκατάσταση της βιβλιοθήκης θα είναι μια πολύ γνωστή διαδικασία για τους περισσότερους, χρησιμοποιώντας τη μέθοδο 'apt-get install'. Θα χρειαστείτε μια σύνδεση στο Internet στο Raspberry Pi, χρησιμοποιώντας είτε μια ενσύρματη σύνδεση Ethernet είτε WiFi.

Ανοίξτε ένα παράθυρο τερματικού (το εικονίδιο μιας μαύρης οθόνης στη γραμμή εργασιών του Pi) και πληκτρολογήστε την ακόλουθη εντολή:

apt-get install python-easygui

Αυτή η εντολή θα κατεβάσει τη βιβλιοθήκη και θα την εγκαταστήσει για εσάς, και αυτό είναι όλο το setup που πρέπει να κάνετε.

03 από 10

Εισαγωγή του EasyGUI

Η εισαγωγή του EasyGUI παίρνει μόνο μία γραμμή. Ρίτσαρντ Σαβίλ

Το EasyGUI πρέπει να εισαχθεί σε μια δέσμη ενεργειών για να μπορέσετε να χρησιμοποιήσετε τις λειτουργίες του. Αυτό επιτυγχάνεται με την εισαγωγή μιας γραμμής στην κορυφή της δέσμης ενεργειών σας και είναι η ίδια ανεξάρτητα από τις επιλογές διεπαφής EasyGUI που χρησιμοποιείτε.

Δημιουργήστε μια νέα δέσμη ενεργειών εισάγοντας την ακόλουθη εντολή στο παράθυρο του τερματικού σας:

sudo nano easygui.py

Θα εμφανιστεί μια κενή οθόνη - αυτό είναι το κενό σας αρχείο (το nano είναι απλά το όνομα ενός επεξεργαστή κειμένου). Για να εισαγάγετε το EasyGUI στη δέσμη ενεργειών σας, πληκτρολογήστε την ακόλουθη γραμμή:

από την εύκολη εισαγωγή *

Χρησιμοποιούμε αυτή τη συγκεκριμένη έκδοση της εισαγωγής για να κάνουμε ακόμα πιο εύκολη την κωδικοποίηση. Για παράδειγμα, κατά την εισαγωγή αυτού του eway, αντί να γράφουμε 'easygui.msgbox', μπορούμε απλά να χρησιμοποιήσουμε το 'msgbox'.

Τώρα ας καλύψουμε ορισμένες από τις βασικές επιλογές διασύνδεσης στο EasyGUI.

04 από 10

Βασικό πλαίσιο μηνύματος

Το απλό πλαίσιο μηνυμάτων είναι ένας πολύ καλός τρόπος για να ξεκινήσετε με το EasyGUI. Ρίτσαρντ Σαβίλ

Αυτό το πλαίσιο μηνυμάτων, στην απλούστερη μορφή του, δίνει στον χρήστη μια γραμμή κειμένου και ένα μόνο κουμπί για να κάνετε κλικ. Ακολουθεί ένα παράδειγμα για να δοκιμάσετε - εισάγετε την ακόλουθη γραμμή μετά τη γραμμή εισαγωγής σας και αποθηκεύστε χρησιμοποιώντας το Ctrl + X:

msgbox ("Cool box huh;", "Είμαι κουτί μηνυμάτων")

Για να εκτελέσετε το σενάριο, χρησιμοποιήστε την ακόλουθη εντολή:

sudo python easygui.py

Πρέπει να δείτε ένα πλαίσιο μηνύματος που εμφανίζεται με την ένδειξη 'Είμαι κουτί μηνυμάτων' γραμμένο στην επάνω μπάρα και 'Cool box huh'; πάνω από το κουμπί.

05 από 10

Συνέχεια ή Ακύρωση πλαισίου

Το πλαίσιο Συνέχεια / Ακύρωση μπορεί να προσθέσει επιβεβαίωση στα έργα σας. Ρίτσαρντ Σαβίλ

Ορισμένες φορές θα χρειαστεί να επιβεβαιώσει κάποιος χρήστης μια ενέργεια ή να επιλέξει εάν θα συνεχίσει ή όχι. Το πλαίσιο 'ccbox' προσφέρει την ίδια γραμμή γραμμής με το βασικό πλαίσιο μηνύματος παραπάνω, αλλά παρέχει 2 κουμπιά - 'Συνέχεια' και 'Ακύρωση'.

Ακολουθεί ένα παράδειγμα μιας χρήσης, με τα πλήκτρα συνέχισης και ακύρωσης να εκτυπώνονται στο τερματικό. Μπορείτε να αλλάξετε τη δράση μετά από κάθε πάτημα ενός κουμπιού για να κάνετε ό, τι θέλετε:

από την εισαγωγή easygui * ώρα εισαγωγής msg = "Θέλετε να συνεχίσετε;" title = "Συνέχεια;" αν υπάρχει ccbox (msg, title): # εμφανίζεται ένα παράθυρο διαλόγου Συνέχεια / Ακύρωση "Επιλεγμένο χρήστη συνεχίσει" # Προσθέστε άλλες εντολές εδώ: # χρήστης επέλεξε Ακύρωση εκτύπωσης "User canceled" # Προσθήκη άλλων εντολών εδώ

06 από 10

Κουτί προσαρμοσμένων κουμπιών

Το κουμπιά κουμπιών σάς επιτρέπει να δημιουργείτε προσαρμοσμένες επιλογές κουμπιών. Ρίτσαρντ Σαβλέ

Εάν οι επιλογές του ενσωματωμένου κουτιού δεν σας δίνουν ό, τι χρειάζεστε, μπορείτε να δημιουργήσετε ένα προσαρμοσμένο πλαίσιο κουμπιού χρησιμοποιώντας τη λειτουργία κουμπιού κουμπιού.

Αυτό είναι μεγάλο εάν έχετε περισσότερες επιλογές που χρειάζονται κάλυψη ή ίσως ελέγχουν αρκετές λυχνίες LED ή άλλα εξαρτήματα με το περιβάλλον εργασίας χρήστη.

Ακολουθεί ένα παράδειγμα επιλογής σάλτσας για μια παραγγελία:

από την εύκολη εισαγωγή * Χρόνος εισαγωγής msg = "Ποια σάλτσα θα θέλατε;" επιλογές = ["Ήπια", "Ζεστό", "Έξτρα Hot"] απάντηση = κουτί κουμπιού (msg, επιλογές = επιλογές) εάν απάντηση == "Ήπια": απάντηση εκτύπωσης εάν απάντηση == "Hot" "Extra Hot": απάντηση εκτύπωσης

07 από 10

Κουτί επιλογής

Το κουτί επιλογής είναι ιδανικό για μεγαλύτερες λίστες αντικειμένων. Ρίτσαρντ Σαβίλ

Τα κουμπιά είναι υπέροχα, αλλά για μακρές λίστες επιλογών, ένα «κουτί επιλογής» έχει πολύ νόημα. Δοκιμάστε να τοποθετήσετε 10 κουμπιά σε ένα κουτί και σύντομα θα συμφωνήσετε!

Αυτά τα πλαίσια εμφανίζουν τις διαθέσιμες επιλογές σε σειρές μία μετά την άλλη, με το πλαίσιο 'OK' και 'Ακύρωση' στο πλάι. Είναι λογικά έξυπνες, ταξινομώντας τις επιλογές αλφαβητικά και επιτρέποντάς σας να πιέσετε ένα πλήκτρο για να μεταβείτε στην πρώτη επιλογή αυτής της επιστολής.

Ακολουθεί ένα παράδειγμα που δείχνει δέκα ονόματα, τα οποία μπορείτε να δείτε, τα οποία έχουν ταξινομηθεί στο στιγμιότυπο οθόνης.

από την εισαγωγή easygui * χρόνος εισαγωγής msg = "Ποιος άφησε τα σκυλιά έξω;" title = "Λείπει τα σκυλιά" επιλογές = [Alex, Cat, Michael, James, Albert, Phil, Yasmin, Frank, Tim = επιλογήbox (msg, τίτλος, επιλογές)

08 από 10

Πλαίσιο εισαγωγής δεδομένων

Το 'Multenterbox' σας επιτρέπει να καταγράφετε δεδομένα από χρήστες. Ρίτσαρντ Σαβίλ

Οι φόρμες είναι ένας πολύ καλός τρόπος για να συλλέξετε δεδομένα για το έργο σας και το EasyGUI διαθέτει μια επιλογή "multenterbox" που σας επιτρέπει να εμφανίζετε πεδία με ετικέτα για να συλλαμβάνετε πληροφορίες.

Για άλλη μια φορά είναι μια περίπτωση των πεδίων επισήμανσης και απλά η καταγραφή της εισόδου. Κάναμε ένα παράδειγμα παρακάτω για μια πολύ απλή φόρμα συμμετοχής στο γυμναστήριο.

Υπάρχουν επιλογές για την προσθήκη επικύρωσης και άλλων προηγμένων λειτουργιών, τις οποίες ο δικτυακός τόπος EasyGUI καλύπτει λεπτομερώς.

από την εύκολη εισαγωγή * χρόνος εισαγωγής msg = "Πληροφορίες Μέλους" title = "Φόρμα Συμμετοχής Γυμναστήριο" fieldNames = [όνομα, επώνυμο, ηλικία, βάρος] fieldValues ​​= (msg, τίτλος, fieldNames) εκτύπωση πεδίωνValues

09 από 10

Προσθήκη εικόνων

Προσθέστε εικόνες στα κουτιά σας για έναν εντελώς νέο τρόπο χρήσης του GUI. Ρίτσαρντ Σαβίλ

Μπορείτε να προσθέσετε εικόνες στις διεπαφές σας EasyGUI συμπεριλαμβάνοντας ένα πολύ μικρό ποσό κωδικού.

Αποθηκεύστε μια εικόνα στο Raspberry Pi στον ίδιο κατάλογο με το σενάριό σας EasyGUI και σημειώστε το όνομα και την επέκταση του αρχείου (για παράδειγμα, image1.png).

Ας χρησιμοποιήσουμε το κουτί κουμπιών ως παράδειγμα:

από την εισαγωγή easygui * εισαγωγή χρόνο εικόνας = "RaspberryPi.jpg" msg = "Είναι αυτό το Raspberry Pi;" = απάντηση = "Ναι": εκτυπώστε "Ναι" αλλιώς: εκτυπώστε "Όχι"

10 από 10

Πιο προηγμένες λειτουργίες

Δεν μπορείτε να κάνετε συστήματα πληρωμών με το EasyGUI, αλλά μπορείτε να διασκεδάσετε προσποιώντας !. Ρίτσαρντ Σαβίλ

Έχουμε καλύψει τις βασικές "βασικές" επιλογές EasyGUI εδώ για να ξεκινήσετε, ωστόσο υπάρχουν πολλές επιλογές και παραδείγματα διαθέσιμων κιβωτίων ανάλογα με το πόσα θέλετε να μάθετε και τι απαιτεί το έργο σας.

Τα πλαίσια κωδικού πρόσβασης, τα πλαίσια κώδικα και ακόμη και τα πλαίσια αρχείων είναι διαθέσιμα για να αναφέρουμε μερικά. Είναι μια πολύ ευπροσάρμοστη βιβλιοθήκη που είναι εύκολο να πάρει μέσα σε λίγα λεπτά, με μερικές μεγάλες δυνατότητες ελέγχου υλικού επίσης.

Αν θέλετε να μάθετε πώς να κωδικοποιείτε άλλα πράγματα όπως Java, HTML ή άλλα, εδώ είναι οι καλύτεροι διαθέσιμοι κώδικες διαδικτυακής κωδικοποίησης .