我有一个ttkcalendar对象的实例,“cal”。当我将按钮click绑定到cal时,调用的函数仅在我单击ttcalendar框架的角时执行;当我单击实际的日历区域时,当ttkcalendar函数执行时,我的绑定不执行。你知道吗
当我单击“框架角点”时,将运行此代码
# Calendar Frame
self.cal=Calendar(LeftFrame)
self.cal.pack(side=TOP)
self.cal.bind("<Button-1>",self.clicked)
我想如果我尝试绑定到日历的canvas对象,它就会工作。但是,此代码返回AttributeError:Calendar实例没有属性画布。你知道吗
# Calendar Frame
self.cal=Calendar(LeftFrame)
self.cal.pack(side=TOP)
self.cal.canvas.bind("<Button-1>",self.clicked)
正如我所说,内部ttkcalendar绑定可以很好地切换显示的日期。有什么见解吗?谢谢
错误信息应该很清楚。如果python告诉您“
AttributeError: Calendar instance has no attribute canvas
”,您必须假设这是真的。你知道吗查看
Calendar
类的源代码,我没有看到任何canvas
属性。就像错误告诉您的那样,您正在尝试访问一个不存在的属性。你知道吗Calendar
类确实有一个名为_canvas
的属性,也许您可以尝试改用它。尽管如此,前导下划线表示它是一个私有属性,在以后的代码修订中可能会消失。你知道吗相关问题 更多 >
编程相关推荐