1

当我使用

ch = wnd.getch()

cursesPython 下,我可以捕获wnd.getch返回 10 的回车键。但是当我替换getchget_wch. 有什么问题get_wch吗?

4

1 回答 1

1

功能getchget_wch接口不同:

  • getch返回一个字符
  • get_wch返回一个状态码,并通过作为参数传递的指针设置一个宽字符。

它们使用不同的接口,因为特殊键(例如KEY_HOME)可以getch作为“普通”(8 位)字符范围之外的“额外”字符处理。你不能用宽字符来做到这一点(不是那么容易,因为宽字符范围的结尾不太明确),所以get_wch使用状态码来判断它通过指针设置的值是宽字符还是特殊键。

虽然手册页很清楚,但 python 开发人员在将特性添加到 curses 包装器时并没有注意到这种区别。Python 文档中的描述对应于getch而不是get_wch

获得一个广泛的字符。为大多数键返回一个字符,或者为功能键、键盘键和其他特殊键返回一个整数。

3.3 版中的新功能。

进一步阅读:

于 2017-01-27T01:50:01.630 回答