在下面的代码中,如果我使用KeyRelease
绑定事件,那么在return
按下键时会在文本小部件中产生不需要的新行。但是,如果我使用KeyPress
绑定事件,则不会插入新行。
有人可以解释两者之间的区别以及为什么我会观察到这种行为。任何指向参考材料的指针将不胜感激。
from Tkinter import *
def getCommand(*args):
global text
text.insert(END, "\n")
text.insert(END, "command>")
return 'break'
def handle_keyrelease(event):
if event.keysym == "Return":
getCommand()
return 'break'
root = Tk()
text = Text(root)
text.pack()
text.insert(END,"command>")
text.focus()
text.bind("<KeyRelease>", handle_keyrelease) # Change the event handler to see the difference
root.mainloop()