Comment puis-je intégrer Tkinter avec Python écran de connexion?
Je suis en utilisant Tkinter pour créer un écran de connexion ici. Pour l'instant, le "rester connecté" bouton au bas est redondant et le restera. Ce que je veux faire est d'utiliser ce code:
from tkinter import *
root = Tk()
label_1 = Label(root, text="Username")
label_2 = Label(root, text="Password")
entry_1 = Entry(root)
entry_2 = Entry(root)
label_1.grid(row=0, sticky=E)
label_2.grid(row=1, sticky=E)
entry_1.grid(row=0, column=1)
entry_2.grid(row=1, column=1)
checkbox = Checkbutton(root, text="Keep me logged in")
checkbox.grid(columnspan=2)
en collaboration avec:
username = "john"
input("Username: ")
while not username:
if username == "john":
print("Welcome")
else:
print("User not found")
password = "password"
while not password:
input("password: ")
if password == "password":
print("Logged in")
else:
print("Incorrect password")
Cependant la journalisation dans le code ne fonctionne pas et puis pour couronner le tout je ne sais pas par où commencer avec l'intégration de deux les uns avec les autres.
Je suis certains que python et encore plus à Tkinter, mais je suis désespérée pour cette aide!
Merci d'avance!
Vous avez besoin de faire une méthode qui change de mot de passe, puis de lier cette méthode à votre entrée.
OriginalL'auteur TheHarpoon | 2015-01-26
Vous devez vous connecter pour publier un commentaire.
J'ai élargi votre exemple. J'ai fait une classe qui détient votre fenêtre de connexion.
Désolé de ne pas aller sur chaque ligne de ce qui s'y passe. Je vous laisse le soin de deviner. Son bon exercice. Mais je dirais que le plus important est
command = self._login_btn_clicked
. Cette fonction sera exécutée lorsque vous cliquez sur "connexion". Dans cette fonction, vous prenez les valeurs de nom d'utilisateur et le mot de passe, et de vérifier si elles sont correctes. Aussi je n'ai pas de joindre toutes les rappels à la case. Mais il serait similaire à ce qui est déjà fait.Edit: Modifié comme demandé dans les commentaires.
J'ai accidentellement downvoted votre bonne réponse quand j'ai voulu upvote. Si vous pouviez modifier votre réponse, je voudrais changer mon downvote à un upvote.
OriginalL'auteur Marcin
Vous voulez probablement un bouton 'Login', non? Si vous faites cela, vous pouvez lier une fonction à exécuter lorsqu'il est cliqué à l'aide du bouton de la
command
argument. Dans la fonction que le bouton d'appel vous pouvez effectuer les vérifications pour le nom d'utilisateur correct et le mot de passe. Ne pas utiliser la boucle while si, juste vérifier à chaque fois que le bouton est pressé et réagir en conséquence.OriginalL'auteur fhdrsdg