Programme s'execute sans erreur mais rien n''est affiché

Résolu
Frewil -  
 Frewil -
Bonjour,

Le code suivant semble s''executer sans erreur, et pourtant la fenetre crée ne s'ouvre pas
Merci pour votre aide

from tkinter import *
from tkinter import messagebox

def passwordwindow():
# Création de la fenetre "password_window"
password_window = Tk()
password_window.title("Connexion")
password_window.geometry("400x120")
password_window.resizable(width=False, height=False)

# pour saisir le mot de passe
username_label = Label(password_window, text="Utilisateur")
username_entry = Entry(password_window, width=30)
username_label.pack()
username_entry.pack()

# pour saisir le mot de passe
password_label = Label(password_window, text="Mot de passe")
pasword_entry = Entry(password_window, width=30)
password_label.pack()
pasword_entry.pack()

# Bouton "Connexion" pour valider le mot de passe
bouton = Button(password_window, text="Connexion")
bouton.pack()
bouton.place(x=170, y=85)
password_window.mainloop()

# Validation du mot de passe si bouton "Connexion" est cliqué
username = "admin"
motdepasse = "123"

if username_entry.get() == username and pasword_entry.get() == motdepasse:
print("Super")

else:
messagebox.showwarning("Message", "username ou mot de passe incorrect")

password_window.mainloop()

6 réponses

  1. Frewil
     
    Bonsoir,

    Merci pour ta réponse
    J'ai suivi le conseil

    from tkinter import *
    from tkinter import messagebox
    
    
    def passwordwindow():
    # Création de la fenetre "password_window"
    password_window = Tk()
    password_window.title("Connexion")
    password_window.geometry("400x120")
    password_window.resizable(width=False, height=False)
    
    # pour saisir le mot de passe
    username_label = Label(password_window, text="Utilisateur")
    username_entry = Entry(password_window, width=30)
    username_label.pack()
    username_entry.pack()
    
    # pour saisir le mot de passe
    password_label = Label(password_window, text="Mot de passe")
    pasword_entry = Entry(password_window, width=30)
    password_label.pack()
    pasword_entry.pack()
    
    # Bouton "Connexion" pour valider le mot de passe
    bouton = Button(password_window, text="Connexion")
    bouton.pack()
    bouton.place(x=170, y=85)
    password_window.mainloop()
    
    # Validation du mot de passe si bouton "Connexion" est cliqué
    username = "admin"
    motdepasse = "123"
    
    if username_entry.get() == username and pasword_entry.get() == motdepasse:
    print("Super")
    
    else:
    messagebox.showwarning("Message", "username ou mot de passe incorrect")
    
    password_window.mainloop()
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      les print() ajoutés t'ont permis de comprendre ton soucis?
      tu n'as pas correctement copié ton code entre les balises.
      0
  2. Frewil
     
    J'ai à nouveau copié le code avec les indentations, mais toujours le meme problème

    from tkinter import *
    from tkinter import messagebox
    
    
    from tkinter import *
    from tkinter import messagebox
    
    
    def passwordwindow():
        # Création de la fenetre  "password_window"
        password_window = Tk()
        password_window.title("Connexion")
        password_window.geometry("400x120")
        password_window.resizable(width=False, height=False)
    
        # pour saisir le mot de passe
        username_label = Label(password_window, text="Utilisateur")
        username_entry = Entry(password_window, width=30)
        username_label.pack()
        username_entry.pack()
    
        # pour saisir le mot de passe
        password_label = Label(password_window, text="Mot de passe")
        pasword_entry = Entry(password_window, width=30)
        password_label.pack()
        pasword_entry.pack()
    
        # Bouton "Connexion" pour valider le mot de passe
        bouton = Button(password_window, text="Connexion")
        bouton.pack()
        bouton.place(x=170, y=85)
        password_window.mainloop()
    
        # Validation du mot de passe si bouton "Connexion" est cliqué
        username = "admin"
        motdepasse = "123"
    
        if username_entry.get() == username and pasword_entry.get() == motdepasse:
            print("Super")
    
        else:
            messagebox.showwarning("Message", "username ou mot de passe incorrect")
    
        password_window.mainloop()
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      montre nous le code avec les print() ajoutés.
      0
  3. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  4. Frewil
     
    Bonjour,

    Seul "test1" est affiché

    from tkinter import *
    from tkinter import messagebox
    
    print("test1")
    
    def passwordwindow():
        print("test2")
        password_window = Tk()
        print("test3")
        password_window.title("Connexion")
        print("test4")
        password_window.geometry("400x120")
        password_window.resizable(width=False, height=False)
    
        # pour saisir le mot de passe
        username_label = Label(password_window, text="Utilisateur")
        username_entry = Entry(password_window, width=30)
        username_label.pack()
        username_entry.pack()
    
        # pour saisir le mot de passe
        password_label = Label(password_window, text="Mot de passe")
        pasword_entry = Entry(password_window, width=30)
        password_label.pack()
        pasword_entry.pack()
    
        # Bouton "Connexion" pour valider le mot de passe
        bouton = Button(password_window, text="Connexion")
        bouton.pack()
        bouton.place(x=170, y=85)
    
        # Validation du mot de passe si bouton "Connexion" est cliqué
        username = "admin"
        motdepasse = "123"
    
        if username_entry.get() == username and pasword_entry.get() == motdepasse:
            print("Super")
    
        else:
            messagebox.showwarning("Message", "username ou mot de passe incorrect")
    
        password_window.mainloop()
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      Quel autre print() devrait-il être exécuté?
      Est-ce ton premier exercice avec des fonctions?
      0
    2. douba
       
      Salut,

      Pour que les instructions de ta fonction soient exécutées, il faut que tu l'appelles cette fonction, donc faire un simple
      passwordwindow()
      à la suite de ton code, pas dans ta fonction elle-même, bien évidemment.
      0
      1. Frewil > douba
         
        Merci beaucoup, il manquait simplement l'appel de la fonction
        0
  5. Frewil
     
    En fait aucun print("testx") ne fait parti du programme.
    On m´a proposé de les mettre pour comprendre d´oú vient le pb.
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      comprends-tu maintenant d'où vient le problème?
      0
      1. Frewil > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        et non, toujours pas . Est ce que quelqu´un peut m´aider?
        0
      2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Frewil
         
        Est-ce ton premier exercice avec des fonctions?
        0
      3. Frewil > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        oui
        0
      4. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Frewil
         
        commence peut-être alors par un exercice plus simple.
        0