python-2.7 – 在选择Python之后立即选择optionmenu

我想知道是否有任何方法可以让我看到用户在列表显示中选择了什么,让我们说:[“Apple”,“Orange”,“Grapes”]之后他们选择了其中一个?

就像用户点击选项框并点击Apple一样,Tkinter将返回一些内容

然后,如果他将他的选择切换到,那么就说,Orange,那么那也会在现场返回一些东西.

谢谢!

如何正确放置参数?

from Tkinter import *

def option_changed(a):
    print "the user chose the value {}".format(variable.get())
    print a

master = Tk()

a = "Foo"
variable = StringVar(master)
variable.set("Apple") # default value
variable.trace("w", option_changed(a))

w = OptionMenu(master, variable, "Apple", "Orange", "Grapes")
w.pack()

mainloop()
最佳答案
跟踪StringVar.

from Tkinter import *

def option_changed(*args):
    print "the user chose the value {}".format(variable.get())
    print a

master = Tk()

a = "Foo"
variable = StringVar(master)
variable.set("Apple") # default value
variable.trace("w", option_changed)

w = OptionMenu(master, variable, "Apple", "Orange", "Grapes")
w.pack()

mainloop()

这里,只要用户从选项菜单中选择一个选项,就会调用option_changed.

您可以将trace参数包装在lambda中以指定您自己的参数.

def option_changed(foo, bar, baz):
    #do stuff

#...
variable.trace("w", lambda *args: option_changed(qux, 23, "hello"))

转载注明原文:python-2.7 – 在选择Python之后立即选择optionmenu - 代码日志