저는 높은 곳과 낮은 곳을 검색했으며 지금 잘못하고있는 것을 알아 내지 못했습니다. 내 일정에서 선택한 날짜를 해당 입력 필드에 표시하려고합니다. 그러나 나는이 오류 메시지가 :Python2.7, Tkinter : 인스턴스에 __call__ 메서드가 없습니다.
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\NAME\Continuum\Anaconda2\lib\lib-tk\Tkinter.py", line 1537, in __call__
return self.func(*args)
File "/Desktop/scripts/Test.py", line 503, in show_Calendar2
self.initialtext2.set(calendar(format_str='%02d-%s-%s'))
AttributeError: Calendar2 instance has no __call__ method
Here이있는 달력으로 스크립트에 대한 링크입니다. 캘린더가 작동하고 클릭했을 때 선택한 날짜가 인쇄되지만 선택한 날짜가 기본 윈도우의 각 캘린더 버튼 옆에있는 입력 필드에 입력되는 방법을 파악할 수 없습니다.
나는 사용하여 시도 :self.initialtext2.set(calendar.get_date(format_str='%02d-%s-%s'))
과 몇 가지 다른 유사하지만이 작업을 수행하는 방법에 대한 손실에 있어요. 어떤 도움이나 지침도 환영합니다. 미리 감사드립니다!
@TheHoff :'foo (...)'를 할 때'foo'라는 _function_를 _ 호출하고 있습니다. 그래서, 당신이'calendar (format_str ...)'를 할 때, 당신은 _function_calling이라는 이름을 갖게됩니다. 그러나'calendar'는 함수가 아니므로 호출 할 수 없습니다. –
이지만 캘린더는 다음과 같습니다. 캘린더 = 캘린더 1 (자체, format_str = '% 02d- % s- % s') ' 캘린더는 Calendar1 함수를 올바르게 호출해야합니까? – TheHoff
@TheHoff : 아니요, 'Calendar1'은 함수가 아니기 때문에 클래스입니다. 'Calendar1'의 인스턴스를 생성하고 그것을'calendar' 변수에 할당하려고합니다. 'calendar'는'Calendar1' 타입의 객체가 아닙니다. 이것은'foo = Frame()'이'Frame' 타입의 객체를 생성하고 그것을'foo'에 할당하는 것과 다르지 않습니다. –