В настоящее время я работаю над графическим интерфейсом (Tkinter) для моего приложения.У меня проблемы с созданием пары выпадающих меню, которые должны быть использованы для выбора даты.Написанное мною приложение создает нужные меню с метками, однако, нажав любую из кнопок, только значение последней записи меню передается в изменяемый tkinter IntVar.
Это часть кодаэто подчеркивает мою проблему.год должен быть годом, на который пользователь нажимает, однако это всегда 2011 год.
from Tkinter import *
import tkFileDialog as dialog
import datetime
import calendar
window = Tk()
text = Text(window)
text.pack()
year = IntVar()
list_of_years = [1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011]
def year_seter(value):
year.set(value)
menubar = Menu(window)
yearmenu = Menu(menubar)
for the_year in list_of_years:
yearmenu.add_command(label=str(the_year), command=lambda : year_seter(the_year))
menubar.add_cascade(label = 'Year', menu=yearmenu)
window.config(menu=menubar)
label = Label(window, textvariable=year)
label.pack()
window.mainloop()
Может кто-нибудь объяснить мне, почему это происходит?Спасибо за ваше время!