私は高値と低値を検索しましたが、今私が何をやっているのか分かりませんでした。私はカレンダーで選択された日付を対応する入力フィールドに表示しようとしています。しかし、私は、このエラーメッセージが表示されます: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'という名前の関数が呼び出されています。したがって、 'calendar(format_str ...)'を実行すると、 'calendar'という名前の関数が呼び出されます。しかし、 'calendar'は関数ではないので、呼び出すことはできません。 –
ですが、カレンダーは: 'calendar = Calendar1(自己、format_str = '%02d-%s-%s')' カレンダーはCalendar1関数を正しく呼び出す必要がありますか? – TheHoff
@TheHoff:いいえ、 'Calendar1'は関数ではないので、クラスです。 'Calendar1'のインスタンスを作成し、それを' calendar'変数に代入しています。 'calendar'は' Calendar1'型のオブジェクトではありません。これは、 'foo = Frame()'が 'Frame'型のオブジェクトを作成し、それを' foo'に割り当てる方法と変わりません。 –