【问题标题】:Is there a complete list of key event names used by turtle-graphics?是否有海龟图形使用的关键事件名称的完整列表?
【发布时间】:2016-04-28 04:57:49
【问题描述】:

在使用Python's Turtle 模块时,我使用了一些key events,正如官方文档所述:

turtle.onkey(fun, key)

参数:

  • fun – 一个没有参数或无参数的函数
  • key – 字符串:键(例如“a”)或键符号(例如“空格”)

现在有趣的是,当您调用 1) 方法并传递一个未注册的字符串(如空字符串 ("") 或 "+" 等时, ) 作为key 参数:

turtle.onkeyrelease(lambda: print("Got key event while listening to none."), "")

无论用户按什么键,程序都会输出“Got key event ...”,顺便说一下this question的问题。

很遗憾,我无法在 Internet 上其他地方的文档或文档中找到有关此行为的更多信息。所以我想知道是否有所有支持的用于编程关键事件的 key-name-strings 的完整列表?


1)问题中使用的基本设置:

import turtle
turtle.setup(700,500)
turtleWindow = turtle.Screen()
turtleWindow.onkey(lambda: print("You pressed 'a'"), "a")
turtleWindow.listen()

【问题讨论】:

  • 阅读the source,卢克。
  • 我不确定它们是否直接列在 turle 资源上(但我可能错了)。我猜你在寻找什么依赖于 tkinter 实现,所以如果你仍然找不到它们,也许你可以看看那一边。
  • @mgc - 你是对的,查看 tkinter 实现是一个很好的起点,因为 turtle 使用它。 ;)

标签: python turtle-graphics


【解决方案1】:

我扫描了turtle.py 源并得出与mgc 相同的结论,即密钥是tkinter 的一部分,而不是turtle。不想通读整个tkinter 源,我做了一些谷歌搜索并在 Tk 文档中找到了这个full list of keysyms,以及用于 Latin-1 键盘的这个abbreviated list(它缺少单个字母,但它们是也是有效的密钥标识符,例如"Q")。我不确定它们是否区分大小写,所以你必须做一些实验。

【讨论】:

  • 非常感谢 :) 我还找到了 Latin-1 键盘的缩写列表——它们不区分大小写 IMO。但我仍然想知道为什么文档中没有提到这一点......
  • 简短列表的链接已损坏。幸运的是,完整列表的链接仍然有效。
猜你喜欢
  • 2017-12-05
  • 1970-01-01
  • 2018-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-07
  • 2020-05-11
相关资源
最近更新 更多