Python ncurses,CDK,urwid的区别

s5s*_*s5s 25 python curses ncurses urwid

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

我目前不知道3中的任何一个,我从未使用过诅咒.你会推荐哪一个?我听过多次ncurses,但只听过一次或两次CDK(通过研究),从未听说过urwid(我认为).

jco*_*ado 31

看完一些参考资料后我得到的是:

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

所以我的建议是使用urwid,如果它不符合您的需求,寻找其他替代品.

  • 此外,Urwid正常处理Unicode输入,许多其他控制台API没有. (3认同)