Bonjour,

Je suis débutant en Python (version 3.2) et j'ai le problème suivant (je vais essayer d'être simple et clair, merci de me demander des précisions sinon) :

J'ai ouvert une fenêtre 'racine' Tk, qui me sert d'arrière-plan. Puis une fenêtre 'fen2', Toplevel avec un seul bouton 'Quitter' dans la fonction suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def ouvfen0 (tx, bt) :
    fen2 = Toplevel()
    fen2.grab_set()
    fen2.focus_set()
    fen2.title ('--- VV ---')
    fen2.config(bg = 'dark grey')
    fen2.wm_geometry('%dx%d+%d+%d' % (560, 200, 440, 300))
    text = Label (fen2, text = tx+'\n', fg = 'black', bd = 16, bg = 'dark grey', font = beb)
    text.pack()
    bout9 =Button (fen2, command = fen2.destroy, text = bt, bd = 16, bg = 'yellow', font = beb)
    bout9.pack()
    text = Label (fen2, text = '\n', bg = 'dark grey')
    text.pack()
    fen2.mainloop()
Problème lors de l'exécution : lorsque fen2 se referme lors de l'appui sur le bouton, la fenêtre racine, bien que ne se fermant pas à l'écran, est considérée comme étant aussi détruite et donc inutilisable.
J'ai le droit à l'exception suivante lorsque je veux écrire sur la fenêtre racine :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Exception in Tkinter callback
Traceback (most recent call last):
...
...
...
    (widgetName, self._w) + extra + self._options(cnf))
_tkinter.TclError: can't invoke "label" command:  application has been destroyed
Quelqu'un peut-il m'aider ? Merci d'avance à toute bonne âme secourable.