python-2.7 - 选择 Python 后立即选择选项菜单

标签 python-2.7 tkinter optionmenu

我想知道是否有任何方法可以让我看到用户在显示的列表中选择了什么,比方说:["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/

相关文章:

android - 为什么 OptionMenu 在 4.0 中不显示图标菜单但在 2.x.x 中工作

python - 为什么 map(print, a_list) 不起作用?

Python - 在 setup.py 安装之前和之后导入包模块

Python 2.7.3 : Sep argument showing error

Python 3 和 Tkinter。全局变量过多

python - 带有键盘快捷键的 Tkinter 下拉菜单?

python - tkinter 选项菜单不显示选择

python - 如何删除空白的二维列表行?

Python GUI(tkinter;pygtk+glade),py2exe

python - 将 Python 与 Tkinter 结合使用,如何根据选项菜单中选择的选项使按钮按下执行不同的操作?