I understood that the Tk keypress and keyrelease events were supposed only to fire when the key was actually pressed or released?
However with the following simple code, if I hold down the "a" key I get a continual sequence of alternating keypress/keyrelease events.
Am I doing something wrong or is TkInter buggy? This is Python2.7 on Linux mint.
from Tkinter import *
def keyup(e):
print 'up', e.char
def keydown(e):
print 'down', e.char
root = Tk()
frame = Frame(root, width=100, height=100)
frame.bind("<KeyPress>", keydown)
frame.bind("<KeyRelease>", keyup)
frame.pack()
frame.focus_set()
root.mainloop()
Output when pressing and holding "a":
down a
up a
down a
up a
down a
up a
down a
up a
etc...
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…