Cascading menus with Tk
michelle
miki at spam_me.net
Fri May 20 11:46:07 EDT 2005
Martin Franklin wrote:
> michelle wrote:
>
>> Hi all,
>>
>> I am new to Tk, or Python GUI programming and I seem to be stuck. I
>> have looked about for help with Tk GUIs, but everything seems so terse
>> or incomplete?? I have been mostly using the "Introduction to Tkinter"
>> by Fredrik Lundh
>> (http://www.pythonware.com/library/tkinter/introduction/index.htm)
>>
>> What I am trying to do is add cascading menus to a Tk menu widget like:
>>
>> File
>> New...
>> ---> Router
>> ---> Firewall
>> Open
>> ----
>> Exit
>>
>> This seems simple enough, but I can't get it to work...the two
>> "add_cascade" methods (shown below), if used, run an endless loop that
>> is difficult to break:
>>
>> mainWindow = Tk()
>> mainWindow.title("myApp")
>>
>> # create a menu
>> menubar = Menu(mainWindow)
>> mainWindow.config(menu=menubar)
>>
>> filemenu = Menu(menubar)
>> menubar.add_cascade(label="File", menu=filemenu)
>> filemenu.add_command(label="New...")
>
>
> I think you want these two options to be in a cascading menu like so:
>
> newmenu = Menu(filemenu)
> filemenu.add_cascade(label="New...", menu=newmenu)
>
> newmenu.add_command(label="Router")
> newmenu.add_command(label="Firewall")
>
>
>
>> filemenu.add_cascade(label="Router")
>> filemenu.add_cascade(label="Firewall")
>> filemenu.add_command(label="Open...", command = openFileDialog)
>> filemenu.add_separator()
>> filemenu.add_command(label="Exit", command = mainWindow.destroy)
>>
>> helpmenu = Menu(menubar)
>> menubar.add_cascade(label="Help", menu=helpmenu)
>> helpmenu.add_command(label="Online Help")
>> helpmenu.add_command(label="Help on the web")
>> helpmenu.add_separator()
>> helpmenu.add_command(label="About...", command = openAboutBox)
>>
>> Any ideas??
>>
>> Miki
>
>
> Martin
>
Thank you, your code worked perfectly....
Miki
More information about the Python-list
mailing list