在Tkinter中等待按键输入
问题
我正在写一个简单的计时器代码。在每进行三次计时后,界面会被清空,然后在同一个窗口中开始一个新的计时会话。计时的结果会写入一个文件。不过在清空屏幕之前,我希望用户能先看到所用的时间,然后再清屏。
目标
等待用户按下一个键,这样我们就可以清除当前的界面,并在之后显示一些新的文字。
我检查过的内容
http://www.daniweb.com/software-development/python/code/216830/tkinter-keypress-event-python
这个链接的内容对我帮助不大,因为按键的内容被打印出来了。
条件
我不在乎按下的是什么键,除非是以下这些:
['e','s','r']
如果按下的键不是这些,那么我就可以继续清空屏幕。这些键在程序中有其他特定的用途。
请帮我想个办法来实现这个功能。
1 个回答
7
你需要在 "<Key>"
上绑定一个事件处理器。
def handler(event):
if event.char in ('e','s','r'):
return #Don't want to handle this keypress
#code to clear-screen, etc.
your_frame.bind('<Key>',handler)
根据你的应用需求,你也可以选择使用:
your_frame.bind_all('<Key>',handler)