Une page de connexion simple est facile à créer et c'est un excellent endroit pour commencer à créer votre site Web ou votre application.
Il existe plus d'un milliard de sites Web sur Internet. Pour garantir la sécurité des comptes des utilisateurs, de nombreuses applications Web, des services bancaires en ligne aux médias sociaux, nécessitent une page de connexion.
Apprenez à créer une page de connexion simple à l'aide du module Tkinter et familiarisez-vous avec les concepts de base de la création d'applications GUI en Python.
Le module Tkinter
Vous pouvez utiliser Tkinter pour créer une page de connexion qui accepte et valide un nom d'utilisateur et un mot de passe. Tkinter propose une variété de widgets tels que des boutons, des étiquettes et des zones de texte qui facilitent le développement d'applications. Certaines applications que vous pouvez développer à l'aide de Tkinter incluent un Demande de tâches, Lecteur de musique, un Application de minuterie Pomodoro, et un Jeu de mot fouillis.
Pour installer Tkinter, ouvrez un terminal et exécutez :
pip installer tkinter
Comment créer une page de connexion à l'aide de Python
Vous pouvez trouver le code source pour créer une page de connexion en utilisant Python dans ce Référentiel GitHub.
Importez les bibliothèques requises et initialisez la fenêtre racine. Définissez le titre et la taille de la fenêtre. En utilisant le configure() fonction, définissez la couleur d'arrière-plan.
importer tkinter
depuis tkinter importer messagerie
fenêtre = tkinter. Tk()
fenêtre.titre("Page de connexion avec Python")
window.geometry('750x550')
window.configure (bg='#8F00FF')
Définir une fonction, connexion() qui prendra la décision clé en fonction des informations d'identification de l'utilisateur. Cette démo simple code en dur les informations d'identification valides; une vraie application les chercherait probablement dans une base de données.
Stockez les informations d'identification et utilisez le obtenir() méthode de chaque widget Entry pour récupérer les données saisies par l'utilisateur. Selon la validation des données, affichez une boîte de message avec le titre et le message appropriés.
définitivementconnexion():
nom d'utilisateur = "se servir de"
mot de passe = "muo"
si username_entry.get()==nom d'utilisateur et password_entry.get()==mot de passe :
messagebox.showinfo (titre="Connexion réussie!", message="Vous vous êtes connecté avec succès.")
autre:
messagebox.showerror (titre="Erreur", message="Identifiant invalide.")
Définissez un cadre Tkinter pour qu'il agisse en tant que parent et donnez-lui une couleur d'arrière-plan.
cadre = tkinter. Cadre (bg='#8F00FF')
Définissez trois étiquettes pour la connexion, le nom d'utilisateur et le mot de passe. Passez la fenêtre parente dans laquelle vous souhaitez placer les étiquettes, le texte qu'elle doit afficher, la couleur d'arrière-plan, la couleur de police et le style de police qu'elle doit avoir.
login_label = tkinter. Libellé (cadre, texte="Page de connexion avec Python", bg='#000000', fg="#DC143C", police=("Ariel", 30))
username_label = tkinter. Libellé (cadre, texte="Nom d'utilisateur", bg='#8F00FF', fg="#FFFFFF", police=("Ariel", 16, 'gras'))
mot_de_passe_étiquette = tkinter. Libellé (cadre, texte="Mot de passe", bg='#8F00FF', fg="#FFFFFF", police=("Ariel", 16, 'gras'))
Définissez deux widgets d'entrée pour obtenir les données de l'utilisateur. Définissez la fenêtre parente dans laquelle vous souhaitez la placer ainsi que les styles de police. Utilisez le montrer sous la forme d'un astérisque pour masquer le mot de passe saisi à l'écran par l'utilisateur.
username_entry = tkinter. Entrée (frame, font=("Ariel", 16))
password_entry = tkinter. Entrée (frame, show="*", police=("Ariel", 16))
Définissez un bouton pour la connexion qui accepte la fenêtre parente comme cadre que vous avez défini précédemment, le texte qu'il doit afficher, la couleur d'arrière-plan, la couleur de police, le style de police et la commande qu'il doit exécuter lorsque cliqué.
login_button = tkinter. Bouton (cadre, texte="Connexion", bg="#DC143C", fg="#FFFFFF", police=("Ariel", 16), commande=connexion)
Utilisez le gestionnaire de grille pour placer les trois étiquettes, deux entrées et un bouton de connexion dans un format tabulaire organisé. L'étiquette de connexion servira d'en-tête et occupera les deux colonnes. L'option sticky spécifie à quel bord de la cellule le widget doit coller. En le passant comme nouvelles (nord-est-ouest-sud), le programme centre le texte à la fois dans le sens horizontal et dans le sens vertical.
Placez les étiquettes sur le côté gauche, l'une en dessous de l'autre, et faites de même pour les widgets d'entrée sur le côté droit. Semblable à l'en-tête, placez le bouton de connexion dans les deux colonnes. Donnez un rembourrage approprié dans la direction y à tous les widgets.
login_label.grid (ligne=0, colonne=0, colonnespan=2, collant="nouvelles", paddy=40)
nom_utilisateur_étiquette.grid (ligne=1, colonne=0)
username_entry.grid (ligne=1, colonne=1, paddy=20)
mot_de_passe_étiquette.grid (ligne=2, colonne=0)
password_entry.grid (ligne=2, colonne=1, paddy=20)
login_button.grid (ligne=3, colonne=0, colonnespan=2, paddy=30)
Utilisez le paquet() pour organiser tous les widgets en blocs et exécuter la boucle d'événements Tkinter et écouter les événements jusqu'à ce que vous fermiez la fenêtre.
frame.pack()
fenêtre.mainloop()
Rassemblez tout le code et votre page de connexion est prête à être utilisée.
Exemple de sortie de l'application de la page de connexion
Lors de l'exécution du programme et de la saisie des informations d'identification valides, le programme affiche une boîte de message indiquant que l'utilisateur peut se connecter avec succès.
Lors de l'exécution du programme avec toute autre information d'identification, la boîte de message affiche une erreur concernant la connexion comme non valide.
Améliorer une page de connexion Python
Vous pouvez utiliser une base de données telle que MySql pour récupérer les enregistrements et les valider par rapport aux informations d'identification de l'utilisateur. Le mysql.connector vous aide à établir une connexion entre votre application Python Tkinter et la base de données MySql.
Pour une interface utilisateur améliorée, vous pouvez explorer le customtkinter module. Il est purement construit sur le module Tkinter et vous aide à créer des widgets modernes entièrement personnalisables qui ne sont pas disponibles dans le cadre de la bibliothèque Tkinter standard. La combinaison de ces deux bibliothèques amplifiera vos compétences en programmation d'interface graphique et constituera un tremplin pour créer des applications plus sophistiquées.