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.

Merci pour la photo de Faizur Rehman sur Unsplash

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.

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!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AI

Elon Musk met en garde contre la montée de la superintelligence en Chine

L’entrepreneur renommé Elon Musk a récemment fait les gros titres avec sa déclaration audacieuse lors d’u...

AI

Elon Musk's xAI entraîné sur le flux de Twitter

Elon Musk, le visionnaire derrière des entreprises telles que Tesla et SpaceX, a de nouveau fixé son attention sur le...

AI

Le xAI d'Elon Musk affronte le ChatGPT d'OpenAI

Elon Musk, le milliardaire visionnaire derrière des entreprises telles que les voitures électriques, l’explorat...

AI

Elon Musk présente 'Grok' l'AI Chatbot impertinent avec une touche de rébellion

Le monde de la technologie est en effervescence. Elon Musk, le génie derrière des entreprises révolutionnaires comme ...

AI

Grok L'IA Chatbot de xAI d'Elon Musk

Plongez dans Grok d'Elon Musk par xAI, un chatbot IA avec une récupération d'informations en temps réel, de l'humour ...

AI

Juliette Powell et Art Kleiner, auteurs de la série d'interviews Le dilemme de l'IA

Le dilemme de l'IA est écrit par Juliette Powell et Art Kleiner. Juliette Powell est auteure, créatrice de télévision...