Tous mes widgets de menu option sont mis à jour ensemble lorsque je change les valeurs du menu 1 option.Pourquoi toutes mes options tkinter sont-elles mises à jour lorsque je change les valeurs d'un menu?
C'est ce que j'utilise pour faire tous les menus (self.var
est initialisé comme 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
Lorsque je tente de faire un nouveau menu et modifier les éléments, tous les articles des autres menus changer pour les nouveaux aussi.
dire quand je fais ceci:
self.layout_menu = self.makeMenu("layout_menu", self.layout_sections,
self.layout_menu_row, self.layout_menu_col)
Puis-je voir le reste du code? – Stiffy2000
C'est beaucoup de code. lol Est-ce que ça vous dérange de spécifier? J'ai donc une classe pour ma fenêtre Tk(). "var" est initialisé comme indiqué ci-dessus. J'ai cette fonction makeMenu avec ces paramètres dans ma classe. Ma fonction createWidgets, sans params, appelle makeMenu pour rendre le menu par défaut en utilisant self.layout_menu = self.makeMenu ("layout_menu", self.layout_sections, self.row_count, self.col_count). Donc ce que j'essaye de faire est quand l'utilisateur clique sur un article d'une liste, ces menus sont mis à jour avec les valeurs correspondantes. Lorsque j'essaie d'en mettre un à jour avec une valeur, tous les menus sont mis à jour avec la valeur –
@E. Oregel: Quand Stiffy2000 demande à voir plus de code, je crois qu'il fait référence à [Exemple minimal, complet et vérifiable] (https://stackoverflow.com/help/mcve). Nous devons être en mesure de tester le code pour voir le problème global. –