Python ncurses, CDK, urwid difference

家住魔仙堡 提交于 2019-11-29 23:01:24

What I get after looking at some references is:

  • ncurses: It's a free software version of curses, so you have to deal with all kind low-level details.
  • pyCDK: It's a higher level library that provides some widgets. I haven't used this one, but according to the sourceforge project page it's been unmaintained for a long time (at least the python binding), so I wouldn't go with this one.
  • urwid: I've used this one and I've to say it's still a little bit low level (it's more a framework than a widget library), but still quite useful and much user-friendlier than curses. As a UI framework it has all the stuff you'd typically expect like widgets, events and a way to control the layout of the widgets. Some things that I'd say are hard with curses, but are easy with urwid are: redraw your widgets when the terminal is resized and gather mouse input (clicking on a button, for example).

So my recommendation would be to use urwid and if it doesn't meet your needs look for other alternatives.

voithos

I haven't used any of the libraries, but I'm assuming that you're referring to:

They're just different libraries with the same goal: provide an API for a console-based UI. From a previous question, it seems that curses requires more low-level boilerplate. One thing to note is that Python's curses module is only available under Unix; if you're on Windows, you may want to look at the Console module written by Fredrik Lundh.

Both of the other choices seem promising as well, although urwid looks to be more organized as far as development goes, and is still being actively developed somewhat.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!