npyscreen - Python ncurses, CDK, diferencia urwid
nodelay curses python (2)
Lo que obtengo después de ver algunas referencias es:
- ncurses : es una versión de software gratuita de curses, por lo que debe lidiar con todo tipo de detalles de bajo nivel.
- pyCDK : es una biblioteca de nivel superior que proporciona algunos widgets. No he usado este, pero de acuerdo con la página del proyecto de sourceforge no se ha mantenido durante mucho tiempo (al menos la encuadernación de python), por lo que no lo haría.
- urwid : He usado este y tengo que decir que todavía es un poco bajo nivel (es más un marco que una biblioteca de widgets), pero aún así es bastante útil y mucho más amigable que los curses. Como marco de la interfaz de usuario, tiene todas las cosas que normalmente se esperan, como widgets, eventos y una forma de controlar el diseño de los widgets. Algunas cosas que diría que son difíciles con las
curses
, pero que son fáciles conurwid
son:urwid
dibujar sus widgets cuando se redimensione el terminal y reúna la entrada del mouse (haciendo clic en un botón, por ejemplo).
Por lo tanto, mi recomendación sería usar urwid
y si no cumple con sus necesidades, busque otras alternativas.
¿Cuál es la diferencia entre estos 3? Según tengo entendido, ambos proporcionan un enlace a las cursas, que es la biblioteca C para la interfaz de usuario basada en texto de terminal.
Actualmente no tengo conocimiento de ninguno de los 3 y nunca he usado maldiciones. ¿Cuál recomendarías? He oído hablar de ncurses muchas veces, pero solo una o dos veces sobre CDK (a través de la investigación) y nunca he oído hablar de urwid (creo).
No he usado ninguna de las bibliotecas, pero supongo que te estás refiriendo a:
- Módulo de
curses
incorporado de Python -
pycdk
, una interfaz de Python para CDK - La biblioteca de la interfaz de usuario
urwid
console
Son solo bibliotecas diferentes con el mismo objetivo: proporcionar una API para una interfaz de usuario basada en consola. De una pregunta anterior , parece que las curses
requieren más repetitivo de bajo nivel. Una cosa a tener en cuenta es que el módulo de curses
de Python solo está disponible en Unix; Si está en Windows, puede mirar el módulo de la Console
escrito por Fredrik Lundh.
Ambas opciones también parecen ser prometedoras, aunque urwid
parece estar más organizado en lo que se refiere al desarrollo, y aún está siendo desarrollado de alguna manera.