以编程方式更改 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()