[Python - Tk] Boîte de dialogue (TopLevel)

clintm Messages postés 718 Statut Membre -  
BoBoXx Messages postés 261 Statut Membre -
Bonjour,

J'ai un programme en Python (GUI : Tk) avec un menu...
Mon programme demande une identification (nom d'utilisateur, mot de passe), dans une boîte de dialogue.
Et en bas [de la boîte de dialogue], il y à un bouton ok, pour continuer l'identification.
Button(la_boite_de_dialogue, text="ok", command=go_identification)


Tous ce passe bien, le programme continue bien mais le problème c'est que la boîte de départ (celle qui demande les informations) reste toujours.
Comment faire pour que lorsque je fais ok, elle disparaisse.

j'ai éssayer
Button(la_boite_de_dialogue, text="ok", command=la_boite_de_dialogue.destroy)

Ce qui éfface bien la boite mais le programme ne continue pas.

merci d'avance
@+

--

------------------------------------------
>>Trop de paroles noient la vérité<<

7 réponses

  1. BoBoXx Messages postés 261 Statut Membre 34
     
    Salut,
    Tu peu poster ton code en entier ? =)
    0
  2. clintm Messages postés 718 Statut Membre 75
     
    salut,

    désolé mon code fais plus de 150 lignes alors que je n'ai qu'un menu et deux trois boîte de dialogue
    et je ne pense pas que tous le code est nécessaire.

    donc, une partie du code simplifié :

    import Tkinter
    root = Tk()
    
    def suivant():
       boite = Toplevel()
       Label(boite, text="Ok, vous ete connecter")
    
    def connect():
       conn = Toplevel()
       (il y à des Entry...)
       Button(conn, text="Suivant >>", command=suivant)
    
    Button(root, text="Afficher la boite", command=connect)


    Ce code marche bien.
    Lorsque j'appui sur le bouton Afficher la boite, une boîte apparait puis j'appui sur le bouton Suivant >>
    La deuxième boite apparait par dessus

    le problème c'est que je voudrais que la première boite disparaisse

    @+
    0
  3. BoBoXx Messages postés 261 Statut Membre 34
     
    def connect():
       conn = Toplevel()
       (il y à des Entry...)
       Button(conn, text="Suivant >>", command=suivant)
       conn.destroy()
    0
  4. clintm Messages postés 718 Statut Membre 75
     
    merci,

    j'ai éssayer ton code.
    la boîte s'ouvre une demi seconde et se referme

    y'à t'il d'autre propositions ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. BoBoXx Messages postés 261 Statut Membre 34
     
    Oui met le conn.destroy() au début de la fonction suivant()
    0
  7. clintm Messages postés 718 Statut Membre 75
     
    salut

    j'ai éssayer de la mettre un peut partout dans le fonction suivant(): mais ca me renvoi une érreur

    0
  8. BoBoXx Messages postés 261 Statut Membre 34
     
    def connect():
       global conn
       conn = Toplevel()
       (il y à des Entry...)
       Button(conn, text="Suivant >>", command=suivant)
    
    def suivant():
       global conn
       conn.destroy()
       boite = Toplevel()
       Label(boite, text="Ok, vous ete connecter")
    
    
    0