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

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

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

最佳答案

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

这个框架的边缘仍然很粗糙,但是除非有人投入使用并开始使用它/提交错误,否则它可能会一直保持这种状态。您可以看到Imaginary如何设置异步文本UI(输入行和单独的输出区域)因此输出不会打扰您的键入)here

09-07 01:42