paulenot
@paulenot
IT Issue

Какой UI фреймворк можно использовать в CLI интерфейсе Linux?

Интересуют библиотеки для написания пользовательского интерфейса в терминале под linux.
Искал, но не нашел, интересует подобное интерфейсу lynx, htop, так же есть в установщике linux server и других программах.
Из необходимых функций нужно:
кнопки, чек-боксы, селекты(комбо-боксы), инпуты однострочные и многострочные, прогресс-бары и т.д. что бы все это работало в любом терминале.

Языки - не имеет значения, главное совместимость с linux.
  • Вопрос задан
  • 512 просмотров
Решения вопроса 3
vabka
@vabka
Токсичный шарпист
Ну классика - curses, под Си (на нём как раз и сделан lynx и htop)
Аналог из C# - Terminal.Gui
Под Go - termui, termbox-go, tcell
Под Rust- tui-rs
Вроде и под питон есть, но не могу вспомнить название. Можно поискать тут: https://github.com/topics/tui?l=python
Ответ написан
Если уж прям хочется классики, то вот, есть аналоги Turbo Vision. Borland C++/Pascal были написаны именно на этой библиотеке. В 90-е годы была очень популярная вещь.
spoiler
687474703a2f2f74686f6d61736a656e73656e2e636f6d2f736f6674776172652f7175616472612f7175616472612e676966

Современные аналоги:
tvision.sourceforge.net
https://github.com/magiblot/tvision
https://wiki.freepascal.org/Free_Vision - во Free Pascal

А так, в Linux/BSD практически стандарт - ncurses.

Если нужно выводить графику, то даже можно вот так:
spoiler
2015-01-27-6m47421-blessed-contrib.png

https://github.com/yaronn/blessed-contrib
Ответ написан
Комментировать
@ttywizard
Для python неплохое решение - urwid urwid.org, очень приятная штука в использование.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@pfemidi
Тут могло бы быть краткое описание меня
Ну если в тегах написано что "КОМАНДНАЯ СТРОКА", то значит никакие ncurses не подойдут -- это уже не командная строка, с ncurses (и прочими Turbo Vision который тут посоветовали) линковать надо свою программу, а не "командную строку". А именно насчёт командной строки я ответ уже давал в октябре 2019, это именно командная строка.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы