[Tkinter-discuss] How to set optionmenu without setting the variable
Michael Lange
klappnase at web.de
Wed Nov 4 20:30:38 CET 2009
Hi,
On Wed, 4 Nov 2009 08:23:39 -0500
david.giesen at kodak.com wrote:
> I don't believe there is any way to create an OptionMenu without
> using a Tk variable.
Actually you can:
<code>
from Tkinter import *
root = Tk()
om = OptionMenu(root, None, '1', '2')
om.pack(padx=100, pady=100)
items = ('a', 'b', 'c', 'd')
def callback(item):
om.configure(text=item)
print 'selected:', item
om['menu'].delete(0, 'end')
for x in items:
om['menu'].add_command(label=x, command=lambda item=x: callback(item))
callback('a')
root.mainloop()
</code>
I needed this once, because I was not able to handle unicode filenames
properly using a Tk textvariable, so you see it looks overly
complicated but in some cases may have its use.
I hope this helps
Michael
More information about the Tkinter-discuss
mailing list