J'ai un problème d'insertion d'un objet hérité d'un Frame.

Dans un module secondaire j'ai défini une classe Update() de la manière suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
from Tkinter import *
 
class Update(Frame):
    def __init__(self, master =None,table='machin'):
        Frame.__init__(self)
 
#(etc ...)
 
if __name__ == '__main__':
    root=Tk()
    Update(root).pack()
    root.mainloop()
A l'exécution, la fenêtre s'ouvre et tout marche au poil.

Dans le module "principal" (une barre de menus), j'ai défini une fonction pour ouvrir un objet Update() dans une fenêtre secondaire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
#(...)
 
    def modifie(self,table):
        fen=Toplevel(self)
        upd=Update(fen,table)
        upd.pack()
 
if __name__ == '__main__':
    root=Tk()
    MenuBar(root).pack()
    root.mainloop()
Et là ça marche aussi, SAUF QUE la fenêtre Toplevel() s'ouvre vide ET QUE l'objet Update() s'insère dans la fenêtre mère (celle de la barre de menu) -où d'ailleurs il fonctionne à part ça correctement- ...

Qu'est-ce qui provoque cet effet ? Où est mon erreur ?

Merci de vos réponses, toujours pertinentes .

JD