以编程方式更改 OptionMenu 的选定项目

qwe*_*_so 0 python tkinter optionmenu

我定义了一个简单的OptionMenu

import Tkinter as tk

optionList = ('a', 'b', 'c')
v = tk.StringVar()
v.set(optionList[0])
om = tk.OptionMenu(self, v, *optionList)
Run Code Online (Sandbox Code Playgroud)

此列表将显示a为默认值,这很好。但是也定义了命令按钮,最终需要对其进行更改以显示另一个可用选项(例如b)。如何做到这一点?

Vic*_*gos 5

您已经找到了一种设置默认值并对其进行更改的方法。您拥有与vOptionMenu小部件关联的变量。如果您在任何时候再次更改该变量的值,它将更新您的小部件:

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()
Run Code Online (Sandbox Code Playgroud)