Créez un formulaire utilisateur simple avec Python et Tkinter en 5 minutes – Guide pour débutants
Créez un formulaire utilisateur avec Python et Tkinter en 5 minutes - Guide débutants
Aujourd’hui, il est devenu une tendance pour toutes les entreprises de passer au numérique. Qu’elles soient petites ou grandes, il est également pratique d’utiliser des applications plutôt que de collecter des informations manuellement. Cela donne également une image professionnelle. Que ce soit dans une boutique de médecin ou dans un magasin d’alimentation, où vous vous attendez à ce qu’un client vous rende visite encore et encore.

Dans ce tutoriel, je vais vous montrer comment créer un formulaire utilisateur très simple en utilisant Python et Tkinter, une boîte à outils GUI populaire. À la fin de ce blog, vous serez capable de développer vos propres formulaires d’inscription pour différentes applications.
J’aime créer différentes interfaces graphiques pour mes projets d’apprentissage automatique. Cela me donne la liberté d’expression pour communiquer avec mes utilisateurs finaux. Créer moi-même une interface graphique pour mes projets d’apprentissage automatique me donne l’impression de raconter l’histoire moi-même plutôt que de laisser quelqu’un d’autre raconter mon histoire.
Il existe de nombreuses bibliothèques que vous pouvez utiliser pour construire une interface graphique en Python. Certaines des plus célèbres sont PyQt5, Kivy, PySimpleGUI, Tkinter, etc. J’ai utilisé Tkinter car c’est une bibliothèque GUI simple et basique qui convient le mieux aux débutants à mon avis. Bien qu’il y ait certaines limitations pour construire une interface graphique en utilisant Tkinter en ce qui concerne la personnalisation de votre interface graphique, je l’utilise pour des projets rapides.
- Améliorez vos photos avec l’IA De la mise à l’échelle HD aux filtres de dessin animé
- Gautam Bakshi, Co-fondateur et PDG de 15Rock – Série d’interviews
- Ingénierie de la mise en avant de zéro à avancée avec Langchain en Python
Je suis également fan des applications web, mais vous aurez besoin de votre serveur web pour les distribuer si vous ne voulez pas divulguer publiquement vos applications. Vous pouvez trouver un tutoriel pour créer une application web en utilisant Streamlit ici
À la place, je trouve plus facile de créer une interface graphique en utilisant Tkinter et de la convertir en un exécutable que je peux distribuer à l’utilisateur final en partageant simplement le fichier. C’est rapide et économique en termes de temps et de coûts.
Prérequis :
Vous devez avoir Python et Tkinter installés sur votre système. Si vous n’avez pas Tkinter installé, vous pouvez l’installer en utilisant pip dans l’invite de commande Anaconda :
pip install tk
Étape 1 : Importation des bibliothèques requises
Comme toujours, vous devrez importer toutes les bibliothèques requises pour le projet. Nous avons besoin des packages tkinter et openpyxl pour ce projet simple. Vous pouvez améliorer votre code en fonction de vos besoins.
import openpyxlfrom tkinter import *from tkinter import messagebox
Étape 2 : Initialisation de la fenêtre tkinter
Je l’ai nommé root, vous pouvez le nommer comme vous voulez. Vous pouvez modifier le titre selon vos besoins à l’intérieur de ‘root.title()’. ‘root.geometry()’ définit la taille de la fenêtre Tkinter. La première partie indique la largeur et la deuxième partie fait référence à la hauteur. Vous pouvez le modifier selon vos besoins. Ici, j’ai défini une fenêtre carrée.
Vous pouvez également modifier l’icône tkinter. Mais nous n’en parlerons pas dans ce blog.
# Créez la fenêtre principale tkinterroot = Tk()root.title("Formulaire d'inscription")root.geometry('300x300')
Étape 3 : Créer des étiquettes et des champs d’entrée
J’ai créé des champs pour le prénom, le nom de famille, l’e-mail et le numéro de téléphone portable. Vous pouvez ajouter ou supprimer des champs selon vos besoins.
Vous pouvez ajouter des boutons de vérification, des boutons radio, un menu, une boîte de combinaison, etc. pour améliorer votre formulaire utilisateur.
# Créez des étiquettes et des champs d'entrée pour chaque saisiefirst_name_label = Label(root, text="Prénom :")first_name_label.pack()first_name_entry = Entry(root)first_name_entry.pack()Last_name_label = Label(root, text="Nom de famille :")Last_name_label.pack()Last_name_entry = Entry(root)Last_name_entry.pack()email_label = Label(root, text="E-mail :")email_label.pack()email_entry = Entry(root)email_entry.pack()Mobile_label = Label(root, text="Portable :")Mobile_label.pack()Mobile_entry = Entry(root)Mobile_entry.pack()
Pour positionner les étiquettes et le champ d’entrée, vous pouvez utiliser différentes méthodes telles que pack, grid et place.
pack() positionne les widgets dans des boîtes horizontales et verticales limitées aux positions gauche, droite, haut et bas. Chaque boîte est décalée et relative aux autres. Je trouve que les limitations sont plus élevées par rapport aux autres méthodes.
La méthode grid()
positionne les widgets dans une grille à deux dimensions de lignes et de colonnes, similaire à un tableur. Bien qu’il soit plus facile de comprendre la logique de positionnement de cette méthode, il est difficile de contrôler l’espace entre les lignes et les colonnes.
La méthode place()
positionne les widgets dans une grille à deux dimensions en utilisant des coordonnées absolues x et y. Vous pouvez définir la position en définissant les coordonnées x et y ou en définissant des coordonnées x et y relatives.
Bien que ma méthode préférée soit la méthode ‘place()’ car elle vous permet de positionner exactement où vous en avez besoin, j’ai utilisé la méthode ‘pack()’ dans ce blog pour rendre le guide plus simple pour les débutants.
Peut-être que dans un autre blog, je discuterai en détail de toutes les différences de chaque méthode.
Étape 4 : Créer une fonction pour obtenir les données des champs de saisie
Ici, je veux récupérer les données de l’interface utilisateur (GUI) et enregistrer les données dans Microsoft Excel pour une utilisation ultérieure. Vous pouvez modifier les données pour changer la méthode d’enregistrement selon vos besoins.
def enregistrer(): # Obtenir les données saisies par l'utilisateur prenom = champ_prenom.get() nom = champ_nom.get() email = champ_email.get() mobile = champ_mobile.get() # Créer une nouvelle ligne avec les données de l'utilisateur nouvelle_ligne = [prenom, nom, email, mobile] # Ajouter la nouvelle ligne à la feuille Excel classeur = openpyxl.load_workbook("donnees_enregistrement.xlsx") feuille = classeur.active feuille.append(nouvelle_ligne) classeur.save("donnees_enregistrement.xlsx") messagebox.showinfo("Succès", "Enregistrement réussi !")
Étape 5 : Créer un bouton Soumettre et exécuter la boucle principale
bouton_enregistrer = Button(root, text="Enregistrer", command=enregistrer)bouton_enregistrer.pack()root.mainloop()
C’est la dernière étape pour créer une interface utilisateur de formulaire d’inscription. Vous pouvez empaqueter ce code en tant que fichier exécutable pour que l’utilisateur final puisse l’exécuter, ou vous pouvez l’améliorer pour en faire une application complète qui fait beaucoup plus de choses intéressantes.
Code complet à utiliser :
import openpyxlfrom tkinter import *from tkinter import messageboxdef enregistrer(): # Obtenir les données saisies par l'utilisateur prenom = champ_prenom.get() nom = champ_nom.get() email = champ_email.get() mobile = champ_mobile.get() # Créer une nouvelle ligne avec les données de l'utilisateur nouvelle_ligne = [prenom, nom, email, mobile] # Ajouter la nouvelle ligne à la feuille Excel classeur = openpyxl.load_workbook("donnees_enregistrement.xlsx") feuille = classeur.active feuille.append(nouvelle_ligne) classeur.save("donnees_enregistrement.xlsx") messagebox.showinfo("Succès", "Enregistrement réussi !")# Créer la fenêtre principale tkinterroot = Tk()root.title("Formulaire d'inscription")root.geometry('300x300')# Créer des étiquettes et des champs de saisie pour chaque entréeetiquette_prenom = Label(root, text="Prénom :")etiquette_prenom.pack()champ_prenom = Entry(root)champ_prenom.pack()etiquette_nom = Label(root, text="Nom :")etiquette_nom.pack()champ_nom = Entry(root)champ_nom.pack()etiquette_email = Label(root, text="Email :")etiquette_email.pack()champ_email = Entry(root)champ_email.pack()etiquette_mobile = Label(root, text="Mobile :")etiquette_mobile.pack()champ_mobile = Entry(root)champ_mobile.pack()bouton_enregistrer = Button(root, text="Enregistrer", command=enregistrer)bouton_enregistrer.pack()root.mainloop()
N’oubliez pas qu’il s’agit d’un code très basique. Vous voudrez peut-être utiliser des techniques de validation des données pour une utilisation réelle.
Félicitations ! Vous avez votre premier formulaire utilisateur prêt.
We will continue to update IPGirl; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- Découvrez MovieChat un système novateur de compréhension vidéo qui intègre des modèles de base vidéo et de grands modèles linguistiques.
- IA générative dans le domaine de la santé
- V-Net, le grand frère d’U-Net en segmentation d’images
- Une introduction douce à l’apprentissage profond bayésien
- Oubliez ChatGPT, Ce nouvel assistant AI est bien en avance et va changer la façon dont vous travaillez pour toujours
- Synthèse de Synthesys Le meilleur générateur vidéo IA ? (Août 2023)
- Dispatch basé sur les données