Tkinter を使用してメソッドをイベントにバインドしたいのですが、'bind' メソッドによって渡されるイベント オブジェクトは必要ありません。わかりやすくするためのコード:
from Tkinter import *
root = Tk()
def callback(event):
print 'clicked!'
frame = Frame(root, width=100, height=100)
frame.bind('<Button-1>', callback)
frame.pack()
root.mainloop()
ここで、コールバックの引数 event は不要です。bind-method がイベント オブジェクトを渡さないようにする解決策または回避策はありますか?
つまり、これを次のように呼ぶことができます:
def callback2():
print 'clicked!'
バインディングで?何かのようなもの:
frame.bind('<Button-2>', callback2)
(bin はイベントを渡しますが、callback2 は引数を取らないため、実際には機能していません)。