2

我需要为我正在处理的项目构建一个 python TUI。我不需要关于实际 TUI 库(如 ncurses/npyscreen/Urwid/等)的建议,因为我的团队已经确定它们对于我们的需求来说太重了。TUI 采用相对简单的文本输入,不需要所有漂亮的格式和小部件。它也只会在任何时候接受来自单个用户的输入。

由于我们正在滚动自己的显示,这就留下了真正的问题,即有哪些库选项可以帮助实现我可以重用的事件处理/IO 循环?我开始在 Internet 上搜索 GUI/TUI 后端,并很快发现自己置身于 Twisted/Tornado/Gevent 世界,我也不确定这是否是正确的途径。这些库,或者 Urwid 是否能够让我轻松插入自己的显示代码(渲染屏幕并获取简单的raw_input()样式数据)?

这只能在 Python 2.7、Linux 环境中运行,但如果它可以在 Mac 上运行,那将是一大优势。

4

1 回答 1

1

Twisted 有一个名为“Insults”的框架,这是它的 Curses 版本。

这个框架的边缘仍然很粗糙,但它可能会保持这种状态,除非有人冒险并开始使用它/提交错误等。你可以看到 Imaginary 如何设置异步文本 UI(输入行和单独的输出区域所以输出不会打断你的打字)在这里

于 2015-01-20T23:27:12.450 回答