當我更改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)。我們需要能夠測試代碼來查看整體問題。 –