Как установить optionmenu нажатием кнопки tkinter

Я пытаюсь создать страницу с кнопкой обновления, которая вернет все виджеты к тому состоянию, в котором они были изначально. Виджеты ввода в порядке, однако у меня есть меню параметров, которое начинается с уже выделенного текста. Если кто-то изменит этот параметр, а затем нажмет кнопку сброса, как мне вернуть его обратно?

genderList = ["Gender", "Male", "Female", "Other"]
genderVar = tk.StringVar()
genderVar.set(genderList[0])
genderO = tk.OptionMenu(self, genderVar, *genderList)
genderO.config(width = 8)
genderO.pack()

person Ozzy Kids    schedule 24.03.2020    source источник
comment
genderVar.set(None) Ознакомьтесь с классами переменных.   -  person stovfl    schedule 24.03.2020


Ответы (1)


У вас уже был собственный ответ в вашем коде (строка 3) (: вы можете создать функцию, которая вызывается при нажатии кнопки сброса, которая сбросит полпеременной на полСписок[0]. Вот как это будет выглядеть: (продолжайте в виду я изменил имя окна на Root для целей тестирования)

def reset():
    global genderVar
    genderVar.set(genderList[0])

root=tk.Tk()

genderList = ["Gender", "Male", "Female", "Other"]
genderVar = tk.StringVar()
genderVar.set(genderList[0])
genderO = tk.OptionMenu(root, genderVar, *genderList)
genderO.config(width = 8)
genderO.pack()

tk.Button(root,text="Reset",command=reset).pack()

root.mainloop()

Спросите меня, если вам нужна дополнительная помощь с этим или другим материалом!

person Anton Gurevich    schedule 25.03.2020