这个ttk calendar class制作了一个基于tkinter的日历。如何使它返回所选日期的值?下面是我尝试的,它返回了“NoneType object is not callable”:
def test():
import sys
root = Tkinter.Tk()
root.title('Ttk Calendar')
ttkcal = Calendar(firstweekday=calendar.SUNDAY)
ttkcal.pack(expand=1, fill='both')
x = ttkcal.selection() #this and the following line are what i inserted
print 'x is: ', x #or perhaps return x
if 'win' not in sys.platform:
style = ttk.Style()
style.theme_use('clam')
root.mainloop()
if __name__ == '__main__':
test()
选择是一个@property,因此需要执行以下代码:
此外,使用此日历,您可以在关闭callendar小部件(即mainloop()之后)之后获取所选日期。因此,您的代码应该是:
以防万一。如果不想关闭日历窗口以获取所选值,但希望在单击时“实时”获取这些值,例如在其他窗口的标签中显示它们,则可以执行以下操作:
首先扩展Calendar类以添加每次选择某个日期时将调用的回调函数:
通过这个,您可以创建新的test2示例,它有两个窗口。一个用于日历,另一个带有标签的窗口(例如):
在本例中,每当您在日历中选择某个日期时,SecondFrame中的标签都将更新。
相关问题 更多 >
编程相关推荐