如何用turtle库在屏幕显示文本?onkeypress按键参数疑问
在Turtle中绑定按键显示文本的解决方案
嘿,我来帮你搞定这个按键绑定的问题!你困惑的onkeypress方法的key参数,其实就是你想要触发函数的那个按键的标识,下面给你详细说明:
1. key参数的取值规则
- 如果是普通字母/数字,直接传对应的字符串就行,比如
"a"、"5" - 如果是特殊按键,要传turtle预定义的名称,比如空格键是
"space",回车键是"Return",方向左键是"Left",退格键是"BackSpace"
2. 修改后的完整代码示例
我帮你补全了text_xy方法,并且把key参数换成了空格键的示例,你可以直接参考:
import turtle class Graphics: def __init__(self): # window self.win = turtle.Screen() self.win.setup(width=1280, height=800) self.win.bgcolor('DimGrey') # 绑定空格键触发text_xy方法 self.win.onkeypress(self.text_xy, "space") self.win.listen() # tracer self.tracer = turtle.Turtle() self.tracer.hideturtle() self.tracer.penup() # 避免绘图时留下轨迹 def text_xy(self): # 在窗口中心显示文本示例 self.tracer.goto(0, 0) self.tracer.write("你触发了按键事件!", align="center", font=("Arial", 20, "normal")) # 实例化并运行 if __name__ == "__main__": app = Graphics() turtle.done()
3. 关键注意事项
- 一定要调用
win.listen(),不然窗口不会监听按键事件 - 如果要绑定多个按键,多次调用
onkeypress就行,比如同时绑定t键和空格键:self.win.onkeypress(self.text_xy, "space") self.win.onkeypress(self.text_xy, "t") - 特殊按键的名称要严格匹配,比如方向键首字母大写,不能写成
"left",必须是"Left"
内容的提问来源于stack exchange,提问作者Borror0
相关产品推荐
相关产品推荐

