我的OptionMenu如下所示,并带有与其相关的命令,因此每次我选择一个选项时,都会调用“ Menu_func”功能:
Var = StringVar(Hst)
List_Var = [ 'a','b','c']
Var.set(List_Var[0])
Menu_Var = OptionMenu(Hst, Var, *List_Var,command = lambda x: Menu_func())
Menu_Var.grid(row=3,column=7,columnspan=2)
修改OptionMenu中的选项列表的函数是:
def Change_list():
Var2 = Var2.get()
Var.set('')
Menu_Var['menu'].delete(0, 'end')
List_1 = [ 'a','b','c']
List_2 = [ 'x','y','z']
if Var2 == 0:
List = List_1
for choice in List:
Menu_Var['menu'].add_command(label=choice, command=tk._setit(Var, choice))
Var.set(List[0])
if Var2 == 1:
List = List_2
for choice in List:
Menu_Var['menu'].add_command(label=choice, command=tk._setit(Var, choice))
Var.set(List[0])
问题是当我调用“ Change_list”时,我的OptionMenu小部件失去了其“ Menu_func”功能。更改选项列表时,是否可以重新添加此命令?