我知道Tk按键和按键释放事件应该只在按键被实际按下或释放时触发?
但是,使用下面的简单代码,如果我按住“a”键,就会得到连续的交替按键/按键释放事件序列。
我做错什么了还是TkInter小车了?这是Linux mint上的Python2.7。
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()
按住“a”时输出:
down a
up a
down a
up a
down a
up a
down a
up a
etc...
怎么样
现在不会再重复了。
自动回复行为依赖于系统。在Win7中
这不到一秒钟。
好吧,更多的研究发现this helpful post这表明这是由于X的自动回复行为而发生的。您可以使用
然后在脚本末尾使用“on”重置它。 问题是这是全球性的行为——不仅仅是我的剧本——这不太好,所以我希望有人能想出更好的方法。
相关问题 更多 >
编程相关推荐