如何在graphics.py中用Enter键调用getKey?为何判断Enter键无效?
回车键判断失效的原因与解决办法
你遇到的这个问题其实是graphics.py(Zelle的图形库)里getKey()方法的键名映射规则导致的——方向键对应的键名是'Left'、'Right'这类直观名称,但回车键对应的不是'Enter',而是'Return'。
原因很简单:这个图形库底层是基于Tkinter实现的,而Tkinter里回车键的标准键标识符就是'Return',graphics.py直接沿用了这个命名规则,没有额外把它映射成大家更习惯的'Enter',所以你用if key == 'Enter'自然匹配不到回车键的输入。
解决起来也很直接,只要把判断条件改成if key == 'Return'就可以正常捕获回车键了。给你个简单的示例代码:
from graphics import * # 创建窗口 win = GraphWin("Test Return Key", 300, 200) prompt = Text(Point(150, 100), "Press the Enter key") prompt.draw(win) # 获取按键输入 key = win.getKey() if key == 'Return': prompt.setText("You pressed Enter successfully!") # 等待点击关闭窗口 win.getMouse() win.close()
另外给你个小技巧:如果不确定某个按键对应的返回值,可以先把getKey()的结果打印出来(比如print(key)),这样就能准确知道每个按键对应的字符串,避免因为键名不匹配踩坑。
内容的提问来源于stack exchange,提问作者Ryan Smith
相关产品推荐
相关产品推荐

