当我更改1个选项菜单的值时,所有我的选项菜单窗口小部件都一起更新。为什么我更改一个菜单的值时,我的所有tkinter选项都会更新?
这是我用什么来让所有的菜单(self.var
被初始化为self.var = StringVar(master)
):
def makeMenu(self, name, items, r, c):
self.var.set(items[0])
name = OptionMenu(self, self.var, *items)
name.grid(row = r, column = c , padx = self.pad_x, pady = self.pad_y)
name.config(width = self.menu_width)
name.menu = Menu(name, tearoff = self.tear_off)
for i in range(len(items)):
name.menu.add_command(label = items[i])
return name
当我尝试做一个新的菜单并更改项目,其他所有的菜单项目改为新的。
即当我这样做:
self.layout_menu = self.makeMenu("layout_menu", self.layout_sections,
self.layout_menu_row, self.layout_menu_col)
我可以看到代码的休息吗? – Stiffy2000
这是一个很多的代码。哈哈你介意指定吗?所以我有一个Tk()窗口的类。如上所示初始化“var”。我的班级中有这些参数的makeMenu函数。我的createWidgets函数,没有参数,调用makeMenu使用self.layout_menu = self.makeMenu(“layout_menu”,self.layout_sections,self.row_count,self.col_count)使默认菜单。所以我想要做的是当用户点击一个列表框中的项目时,这些菜单会更新相应的值。当我尝试用值更新一个值时,所有菜单都会使用该值 –
@E进行更新。 Oregel:当Stiffy2000要求查看更多代码时,我相信他指的是[最小,完整和可验证示例](https://stackoverflow.com/help/mcve)。我们需要能够测试代码来查看整体问题。 –