Подтвердить что ты не робот

Python ncurses, CDK, разность urwid

Какая разница между этими 3? Насколько я понимаю, оба они обеспечивают привязку к проклятиям, которая является библиотекой C для пользовательского интерфейса с текстовым интерфейсом.

В настоящее время я не знаю ни одного из трех, и я никогда не использовал проклятия. Какой из них вы бы порекомендовали? Я слышал о ncurses много раз, но только один или два раза о CDK (через исследование) и никогда не слышал о urwid (я думаю).

4b9b3361

Ответ 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 выглядит более организованным с точки зрения развития и все еще активно развивается.