【发布时间】:2012-08-03 18:14:16
【问题描述】:
基本上我有一系列循环创建的 OptionMenus,但目前是空的:
option_menu = []
for ii in range(jj):
option_menu.append([])
for ll in range(kk):
option_menu[ii].append(OptionMenu(frame,tkinter_text_var[ii][ll],''))
然后我在其他地方使用复选框来设置值:
for ii in range(jj):
for ll in range(kk):
option_menu[ii][ll]["menu"].add_command(label = name_from_box.get(), command = lambda: tkinter_text_var[ii][ll].set(name_from_box.get()))
这可以正确填充所有 OptionMenus,但是当我在任何 OptionMenus 中选择一个值时,它只会设置 option_menu[jj][kk](即最后一个)。
那我做错了什么?
【问题讨论】:
标签: python lambda tkinter closures optionmenu