Fix for OptionMenu not Updating correctly to new values

This commit is contained in:
MikeTheWatchGuy 2019-03-24 11:11:03 -04:00
parent b33f92ce11
commit 680e4ca1ca
1 changed files with 8 additions and 1 deletions

View File

@ -718,7 +718,7 @@ class OptionMenu(Element):
'''
self.Values = values
self.DefaultValue = default_value
self.TKOptionMenu = None
self.TKOptionMenu = None # type: tk.OptionMenu
self.Disabled = disabled
bg = background_color if background_color else DEFAULT_INPUT_ELEMENTS_COLOR
fg = text_color if text_color is not None else DEFAULT_INPUT_TEXT_COLOR
@ -729,6 +729,13 @@ class OptionMenu(Element):
def Update(self, value=None, values=None, disabled=None, visible=None):
if values is not None:
self.Values = values
self.TKOptionMenu['menu'].delete(0, 'end')
# Insert list of new options (tk._setit hooks them up to var)
self.TKStringVar.set(self.Values[0])
for new_value in self.Values:
self.TKOptionMenu['menu'].add_command(label=new_value, command=tk._setit(self.TKStringVar, new_value))
if self.Values is not None:
for index, v in enumerate(self.Values):
if v == value: