在不丢失预定义命令的情况下更改TKinter的Optionmenu列表

时间:2018-08-30 13:49:23

标签: python tkinter optionmenu

我的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”功能。更改选项列表时,是否可以重新添加此命令?

0 个答案:

没有答案