27

这3个有什么区别?据我了解,它们都提供对curses 的绑定,curses 是基于终端文本的UI 的C 库。

我目前对这三个一无所知,也从未使用过诅咒。你会推荐哪一个?我多次听说过ncurses,但只有一两次关于CDK(通过研究),从未听说过urwid(我认为)。

4

2 回答 2

35

在查看了一些参考资料后,我得到的是:

  • ncurses:它是 curses 的免费软件版本,因此您必须处理所有类型的低级细节。
  • pyCDK:它是一个提供一些小部件的更高级别的库。我没有使用过这个,但是根据 sourceforge 项目页面,它已经很久没有维护了(至少是 python 绑定),所以我不会使用这个。
  • urwid:我用过这个,我不得不说它仍然有点低级(它更像是一个框架而不是一个小部件库),但仍然非常有用并且比 curses 更加用户友好。作为一个 UI 框架,它拥有你通常期望的所有东西,比如小部件、事件和控制小部件布局的方法。我想说的一些事情很难curses,但很容易urwid:当终端调整大小时重绘小部件并收集鼠标输入(例如单击按钮)。

所以我的建议是使用urwid,如果它不能满足您的需求,请寻找其他替代品。

于 2011-12-01T22:43:33.573 回答
3

我没有使用任何库,但我假设您指的是:

它们只是具有相同目标的不同库:为基于控制台的 UI 提供 API。从之前的问题来看,似乎curses需要更多的低级样板。需要注意的一点是 Python 的curses模块仅在 Unix 下可用;如果您使用的是 Windows,您可能需要查看ConsoleFredrik Lundh 编写的模块。

其他两种选择似乎也很有希望,尽管urwid就开发而言看起来更有条理,并且仍在积极开发中。

于 2011-12-01T22:38:01.457 回答