Вот простой пример того, как вы можете проверить значение, когда кто-то выбирает элемент.
Когда вы используете команду для ссылки на функцию в методе OptionsMenu, команда автоматически передаст значение, выбранное каксобытие.Таким образом, вы можете сделать что-то с этим значением, даже не зная StringVar.
import tkinter as tk
root = tk.Tk()
def print_choice(event):
print(choice_var.get()) # prints value based on choice var
print(event)# prints selection directly from the event passed by the command in OptionMenu
working_list = ["Option 1", "Option 2", "Option 3", "Option 4"]
choice_var = tk.StringVar()
tk.OptionMenu(root, choice_var, *working_list, command=print_choice).pack()
root.mainloop()
Вот еще один пример.Не имеет значения, сколько OptionsMenu вы создадите, если вы установите команду для функции, вы всегда можете получить выбранное значение, не зная StringVar.
import tkinter as tk
root = tk.Tk()
def print_choice(event):
print(event)# prints selection directly from the event passed by the command in OptionMenu
working_list = ["Option 1", "Option 2", "Option 3", "Option 4"]
for i in range(4):
tk.OptionMenu(root, tk.StringVar(), *working_list, command=print_choice).pack()
root.mainloop()