我想知道是否有任何方法可以让我看到用户在显示的列表中选择了什么,比方说:["Apple","Orange","Grapes"]
在他们选择其中任何一个之后?
就像当用户单击选项框并单击 Apple 时,Tkinter 会返回一些东西
那么如果他将他的选择切换到,比如说,橙色,那么它也会当场返回一些东西。
谢谢!
如何正确放置参数?
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 后立即选择选项菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22462654/