Erreur tkinter: 'NoneType' object has no attribute 'get'

Résolu/Fermé
prince-des-Lillas-III - Modifié le 21 nov. 2023 à 14:45
 Prince-des-Lillas-III - 20 nov. 2023 à 10:32

Bonjour,

Pourriez-vous m'aider, je cherche une aide sur internet mais rien n'a fonctionné. Je cherche à écrire un programme qui demande un identifiant et un mot de passe :

from tkinter import *
from tkinter.messagebox import *

username = ""
password = ""


def afficher_F_MDP():
    F_MDP.mainloop()

def verifier_MDP():
    username = I_I.get()
    password = I_MDP.get()
    if (username == "Test") and (password == "Test"):
        F_MDP.exit()
    else:
        showerror("ERROR" , "Identifiant ou mot de passe incorrect !")

F_MDP = Tk()

B_I = Frame(F_MDP).pack()
B_MDP = Frame(F_MDP).pack()

T_I = Label(B_I , text = "Identifiant :").pack()
I_I = Entry(B_I).pack()

T_MDP = Label(B_MDP , text = "Mot de passe :").pack()
I_MDP = Entry(B_MDP).pack()

Bo_MDP = Button(F_MDP , text = "Se connecter" , command = verifier_MDP).pack()

afficher_F_MDP()

mais il m'affiche cette erreur après appuyer sur "Se connecter" :

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Program Files (x86)\Thonny\lib\tkinter\__init__.py", line 1921, in __call__
    return self.func(*args)
  File "C:\Users\grego\OneDrive\Bureau\mot de passe.py", line 12, in verifier_MDP
    username = I_I.get()
AttributeError: 'NoneType' object has no attribute 'get'


 

A voir également:

2 réponses

Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
18 nov. 2023 à 13:39

Bonjour,

Ca devrait mieux marcher comme ceci, je pense:

(fautes d'orthographes corrigées en plus)

from tkinter import *
from tkinter.messagebox import *

username = ""
password = ""
    

def verifier_MDP():
    username = I_I.get()
    password = I_MDP.get()

    if (username == "Test") and (password == "Test"):
        F_MDP.exit()
    else:
        showerror("ERROR" , "Identifiant ou mot de passe incorrects !")

F_MDP = Tk()
F_MDP.title('Test')
F_MDP.geometry('200x200+400+100')

B_I = Frame(F_MDP).pack()
B_MDP = Frame(F_MDP).pack()

T_I = Label(B_I , text = "Identifiant :").pack()
I_I = Entry(B_I)
I_I.pack()
I_I.focus()

T_MDP = Label(B_MDP , text = "Mot de passe :").pack()
I_MDP = Entry(B_MDP)
I_MDP.pack()

Bo_MDP = Button(F_MDP , text = "Se connecter" , command = verifier_MDP).pack()

F_MDP.mainloop()
1
Prince-des-Lillas-III
20 nov. 2023 à 10:32

Merci

0