以编程方式更改 OptionMenu 的选定项
Changing the selected item of an OptionMenu programmatically
我已经定义了一个简单的 OptionMenu
就像
import Tkinter as tk
optionList = ('a', 'b', 'c')
v = tk.StringVar()
v.set(optionList[0])
om = tk.OptionMenu(self, v, *optionList)
此列表默认显示 a
,这很好。但是还定义了命令按钮,最终需要更改它以显示另一个可用选项(比如 b
)。如何实现?
您已经找到了设置和更改默认值的方法。您将 v
变量关联到 OptionMenu
小部件。如果您在任何时候再次更改该变量的值,它将更新您的小部件:
import tkinter as tk
root = tk.Tk()
optionList = ('a', 'b', 'c')
v = tk.StringVar()
v.set(optionList[0]) # Here is the initially selected value
om = tk.OptionMenu(root, v, *optionList)
om.pack()
v.set(optionList[2]) # This one will be the final selected value
root.mainloop()
我已经定义了一个简单的 OptionMenu
就像
import Tkinter as tk
optionList = ('a', 'b', 'c')
v = tk.StringVar()
v.set(optionList[0])
om = tk.OptionMenu(self, v, *optionList)
此列表默认显示 a
,这很好。但是还定义了命令按钮,最终需要更改它以显示另一个可用选项(比如 b
)。如何实现?
您已经找到了设置和更改默认值的方法。您将 v
变量关联到 OptionMenu
小部件。如果您在任何时候再次更改该变量的值,它将更新您的小部件:
import tkinter as tk
root = tk.Tk()
optionList = ('a', 'b', 'c')
v = tk.StringVar()
v.set(optionList[0]) # Here is the initially selected value
om = tk.OptionMenu(root, v, *optionList)
om.pack()
v.set(optionList[2]) # This one will be the final selected value
root.mainloop()