L'ajout d'une interface utilisateur graphique à votre projet Raspberry Pi constitue un excellent moyen d'inclure un écran pour la saisie de données, des boutons à l'écran pour les contrôles ou même un moyen plus intelligent d'afficher des lectures à partir de composants tels que des capteurs.
01 sur 10Faire une interface pour votre projet
Un certain nombre de méthodes d’interface graphique différentes sont disponibles pour le Raspberry Pi, cependant, la plupart ont une courbe d’apprentissage abrupte.
L’interface Tkinter Python peut constituer l’option par défaut «utilisable» pour la plupart des utilisateurs, mais les débutants peuvent avoir des difficultés avec sa complexité. De même, la bibliothèque PyGame offre des options pour créer des interfaces impressionnantes, mais peut être excédentaire.
Si vous recherchez une interface simple et rapide pour votre projet, EasyGUI pourrait être la solution. Ce qui lui manque en beauté graphique, il est plus que compensé par sa simplicité et sa facilité d'utilisation.
Cet article vous donnera une introduction à la bibliothèque, y compris certaines des options les plus utiles que nous avons trouvées.
Continuer la lecture ci-dessous
02 sur 10Téléchargement et importation de EasyGUI
Pour cet article, nous utilisons le système d'exploitation standard Raspbian.
L'installation de la bibliothèque sera un processus familier pour la plupart, en utilisant la méthode "apt-get install". Vous aurez besoin d'une connexion Internet sur votre Raspberry Pi, en utilisant soit une connexion Ethernet câblée, soit une connexion WiFi.
Ouvrez une fenêtre de terminal (l'icône d'un écran noir dans la barre des tâches de votre Pi) et entrez la commande suivante:
apt-get installez python-easygui
Cette commande va télécharger la bibliothèque et l’installer pour vous, et c’est toute la configuration que vous devez faire. Continuer la lecture ci-dessous EasyGUI doit être importé dans un script avant de pouvoir utiliser ses fonctions. Ceci est réalisé en entrant une seule ligne en haut de votre script et est identique quelles que soient les options d'interface EasyGUI que vous utilisez. Créez un nouveau script en entrant la commande suivante dans la fenêtre de votre terminal: sudo nano easygui.py
Un écran vide apparaîtra - ceci est votre fichier vide (nano est simplement le nom d’un éditeur de texte). Pour importer EasyGUI dans votre script, entrez la ligne suivante: de easygui import *
Nous utilisons cette version spécifique de l'importation pour faciliter encore plus tard le codage. Par exemple, lorsque vous importez cet eway, au lieu de devoir écrire "easygui.msgbox", vous pouvez simplement utiliser "msgbox". Voyons maintenant quelques-unes des principales options d’interface dans EasyGUI. Cette "boîte de message", dans sa forme la plus simple, donne à l'utilisateur une ligne de texte et un seul bouton sur lequel cliquer. Voici un exemple à essayer - entrez la ligne suivante après votre ligne d’importation et enregistrez-la en utilisant Ctrl + X: msgbox ("Boîte froide hein?", "Je suis un message")
Pour exécuter le script, utilisez la commande suivante: sudo python easygui.py
Vous devriez voir apparaître une boîte de message avec Je suis un message écrit dans la barre du haut, et Boîte froide hein? au dessus du bouton. Continuer la lecture ci-dessous Parfois, vous devrez demander à l'utilisateur de confirmer une action ou de choisir de continuer ou non. La boîte "ccbox" offre la même ligne de texte que la boîte de message de base ci-dessus, mais comporte 2 boutons - Continuer et Annuler. Voici un exemple d’utilisation, avec les boutons Continuer et Annuler qui s’impriment sur le terminal. Vous pouvez changer l'action après chaque pression sur un bouton pour faire ce que vous voulez: de easygui import *temps d'importationmsg = "Voulez-vous continuer?"title = "Continuer?"si ccbox (msg, titre): # affiche une boîte de dialogue Continuer / Annuler print "utilisateur sélectionné continuer" # Ajoutez d'autres commandes ici else: # utilisateur a choisi Annuler print "Utilisateur annulé" # Ajoutez d'autres commandes ici 06 sur 10 Si les options de la boîte intégrée ne vous donnent pas exactement ce dont vous avez besoin, vous pouvez créer une boîte à boutons personnalisée à l'aide de la fonction "boîte à boutons". C'est très bien si vous avez plus d'options à couvrir, ou peut-être contrôlez un certain nombre de voyants ou d'autres composants avec l'interface utilisateur. Voici un exemple de sélection de sauce pour une commande: de easygui import *import time msg = "Quelle sauce voulez-vous?"choices = "Léger", "Chaud", "Extra Chaud"réponse = boîte à boutons (msg, choix = choix) si réponse == "Léger": imprimer la réponsesi réponse == "Hot": imprimer la réponsesi réponse == "Extra Hot": imprimer la réponse
Continuer la lecture ci-dessous Les boutons sont excellents, mais pour les longues listes d'options, une "boîte de choix" a beaucoup de sens. Essayez d'installer 10 boutons dans une boîte et vous serez bientôt d'accord! Ces boîtes répertorient les options disponibles en lignes les unes après les autres, avec les boîtes «OK» et «Annuler» sur le côté. Ils sont raisonnablement intelligents, triant les options par ordre alphabétique et vous permettant également d’appuyer sur une touche pour passer à la première option de cette lettre. Voici un exemple montrant dix noms, que vous pouvez voir a été trié dans la capture d'écran. de easygui import *temps d'importationmsg = "Qui a laissé les chiens sortir?"title = "Chiens disparus"choices = "Alex", "Cat", "Michael", "James", "Albert", "Phil", "Yasmin", "Frank", "Tim", "Hannah"choice = choicebox (msg, titre, choix) 08 sur 10 Les formulaires sont un excellent moyen de capturer des données pour votre projet. EasyGUI dispose d'une option "multenteres" qui vous permet d'afficher des champs étiquetés avec lesquels vous souhaitez capturer des informations. Encore une fois, il s’agit d’étiqueter des champs et de simplement saisir l’entrée. Nous avons créé un exemple ci-dessous pour un très simple formulaire d’inscription à un club de gym. Il existe des options pour ajouter une validation et d'autres fonctionnalités avancées, que le site Web EasyGUI couvre en détail. de easygui import *temps d'importationmsg = "Information du membre"title = "Formulaire d'adhésion à un gymnase"fieldNames = "Prénom", "Nom", "Age", "Poids"fieldValues = # les valeurs de départfieldValues = multenterbox (msg, title, fieldNames)print fieldValues Continuer la lecture ci-dessous Vous pouvez ajouter des images à vos interfaces EasyGUI en incluant une très petite quantité de code. Enregistrez une image sur votre Raspberry Pi dans le même répertoire que votre script EasyGUI et notez le nom du fichier et son extension (par exemple, image1.png ). Utilisons la zone de boutons comme exemple: de easygui import *temps d'importationimage = "RaspberryPi.jpg"msg = "Est-ce un Raspberry Pi?"choices = "Oui", "Non"réponse = boîte à boutons (msg, image = image, choix = choix)si réponse == "Oui": imprimer "Oui"autre: imprimer "Non" 10 sur 10 Nous avons abordé ici les principales options "de base" EasyGUI pour vous aider à démarrer. Cependant, de nombreuses autres options et exemples de boîtes sont disponibles en fonction de vos besoins et des exigences de votre projet. Des zones de mot de passe, des zones de code et même des zones de fichier sont disponibles pour en nommer quelques-unes. C'est une bibliothèque très polyvalente, facile à prendre en quelques minutes, avec de grandes possibilités de contrôle du matériel. Si vous souhaitez apprendre à coder d'autres éléments tels que Java, HTML ou plus, vous pouvez consulter les meilleures ressources de codage en ligne disponibles. Importer EasyGUI
Message de base
Continuer ou annuler la boîte
Boîte à boutons personnalisée
Boîte de choix
Boîte de saisie de données
Ajout d'images
Fonctions plus avancées