Help!!! On Tkinter Menu problem!!!

I have a problem about menu by using Tkinter. I want to make a dynamic menu. That is when I create a new view/window, one menuitem will be added to the menu. and when I kill a window, the correponding menuitem will be deleted. I write a simple code and I can add menuitem now. But I don’t know how to remove the item when I close the window.

The following is my code:

==============================
from Tkinter import*

class App:
def init(self):
root=Tk()
self.root=root
self.doMenus()
root.config(menu=self.mBar)
delete=deletewindow()
self.root.mainloop()

def doMenus(self):
    mBar=Menu(self.root)
    self.mBar=mBar
    self.doFileMenu()
    self.doWindowMenu()

def doFileMenu(self):    
    filemenu = Menu(self.mBar,tearoff=0,background='yellow')
    filemenu.add_command(label='New window',underline=0,command=self.newWindow)
    filemenu.add('separator')
    filemenu.add_command(label='Quit',underline=0,command=self.root.destroy)
    self.filemenu=filemenu
    self.mBar.add_cascade(label="File", menu=self.filemenu)

def doWindowMenu(self): 
    WinName = Menu(self.mBar, tearoff=0,postcommand=self.windowListUpdate)
    self.windowMenu=WinName
    self.mBar.add_cascade(label="Window", menu=self.windowMenu)
    self.windowList=[]
    self.nWindows=0

def windowListUpdate(self):
    self.windowMenu.delete(0, END)
    for window in self.windowList:
        self.windowMenu.add_command(label=window)

        
def newWindow(self):
    self.nWindows+=1
    windowName = "Window %d"% self.nWindows
    self.windowList.append(windowName)
    self.windowListUpdate()
    
    root2=Tk()
    self.root2=root2
    self.root2.title(windowName)
    canvas=Canvas(self.root2, width=450,height=300,bg='green')
    canvas.pack()
    self.canvas=canvas

if name == ‘main’:
test=App()

Maybe I should bind something to <destroy> event. Everytime I close the window, the name of the window should be removed from the windowList and refresh the all the menuitems again. But I don’t know how and where to add the “destroy” event. Can anyone give me a hand???

Thanks a lot!!

Okay, you probably know at least one of these already but here are two sites I visit when I need Tkinter help:

http://www.pythonware.com/library/tkinter/introduction/index.htm

http://infohost.nmt.edu/tcc/help/pubs/tkinter/index.html

I haven’t really palyed with menus much but poking around in the above sites it seems a messy solution will be your only option. I think you’re going to need to rebuild your menus for every update (or every removal) and call root.config(menu=menu) again.