26

左矢印キーと右矢印キーを Tkinter のイベントにバインドしようとしていますが、プログラムを実行すると、イベントがトリガーされていないように見えます。コードは次のとおりです。

from Tkinter import *

main = Tk()

def leftKey(event):
    print "Left key pressed"

def rightKey(event):
    print "Right key pressed"

frame = Frame(main, width=100, height=100)
frame.bind('<Left>', leftKey)
frame.bind('<Right>', rightKey)
frame.pack()
frame.mainloop()

なぜこれが機能しないのですか?

4

4 に答える 4

26

問題は、バインドしているフレームにキーボード フォーカスがないことです。キーボードのキーを押すと、キーボード フォーカスのあるウィジェットにイベントが送信されます。デフォルトでは、フレームにはキーボード フォーカスがありません。

次の行をコードに追加して、キーボード フォーカスをフレームに移動します。

frame.focus_set()
于 2013-11-11T03:32:06.550 に答える