Python ncurses, CDK, разность urwid
Какая разница между этими 3? Насколько я понимаю, оба они обеспечивают привязку к проклятиям, которая является библиотекой C для пользовательского интерфейса с текстовым интерфейсом.
В настоящее время я не знаю ни одного из трех, и я никогда не использовал проклятия. Какой из них вы бы порекомендовали? Я слышал о ncurses много раз, но только один или два раза о CDK (через исследование) и никогда не слышал о urwid (я думаю).
Ответы
Ответ 1
Что я получаю после просмотра некоторых ссылок:
- ncurses: это бесплатная версия проклятий, поэтому вам приходится иметь дело со всеми типами низкоуровневых деталей.
- pyCDK: это библиотека более высокого уровня, которая предоставляет некоторые виджеты. Я не использовал этот, но, согласно странице проекта sourceforge, он долгое время оставался без изменений (по крайней мере, привязка к python), поэтому я бы не пошел с этим.
- urwid: Я использовал этот, и я должен сказать, что это все еще немного низкий уровень (это скорее структура чем библиотека виджета), но все же весьма полезны и удобны для пользователя, чем проклятия. Как структура пользовательского интерфейса, у него есть все, что вы обычно ожидаете, например, виджеты, события и способ управления макетами виджетов. Некоторые вещи, которые, как я сказал бы, сложны с
curses
, но с помощью urwid
просты: перерисовывают ваши виджеты, когда размер терминала изменяется и собирает ввод мыши (например, нажатие кнопки).
Поэтому моя рекомендация заключалась бы в использовании urwid
, и если она не соответствует вашим потребностям, ищите другие альтернативы.
Ответ 2
Я не использовал ни одну из библиотек, но предполагаю, что вы имеете в виду:
- Python встроен
curses
module
-
pycdk
, интерфейс Python для CDK
-
urwid
библиотека пользовательского интерфейса консоли
Это просто разные библиотеки с той же целью: предоставить API для консольного интерфейса. Из предыдущего вопроса кажется, что curses
требует более низкоуровневого шаблона. Следует отметить, что модуль Python curses
доступен только под Unix; если вы находитесь в Windows, вы можете посмотреть модуль Console
, написанный Фредриком Лундом.
Оба других варианта кажутся многообещающими, хотя urwid
выглядит более организованным с точки зрения развития и все еще активно развивается.