【发布时间】:2021-02-13 06:47:48
【问题描述】:
我正在尝试在我正在开发的 TUI 中实现一些简单的文本编辑功能。我正在使用 Python 包装器进行诅咒。
目前我正在尝试做的是将某些键绑定与特定功能或操作相关联,但不确定如何做,文档也不清楚。根据documentation,有一些默认的键绑定,但是如果我想添加我自己的与特定键绑定关联的“事件”怎么办?
【问题讨论】:
标签: python-3.x curses python-curses tui
我正在尝试在我正在开发的 TUI 中实现一些简单的文本编辑功能。我正在使用 Python 包装器进行诅咒。
目前我正在尝试做的是将某些键绑定与特定功能或操作相关联,但不确定如何做,文档也不清楚。根据documentation,有一些默认的键绑定,但是如果我想添加我自己的与特定键绑定关联的“事件”怎么办?
【问题讨论】:
标签: python-3.x curses python-curses tui
首先要查看curses.textpad 的源代码,看看它是如何实现的。它是硬编码的,例如,
elif ch == curses.ascii.ENQ: # ^e
if self.stripspaces:
self.win.move(y, self._end_of_line(y))
else:
self.win.move(y, self.maxx)
可以重写它以允许自定义绑定,但请记住,目前(2021 年 2 月中旬),最近一次提交是 4 年多前 (December 2016)。
【讨论】: