Repolode
ArthurSonzogni

ArthurSonzogni/FTXUI

Библиотека C++ в заголовочных файлах для создания терминальных интерфейсов в функциональном компонентном стиле, без внешних зависимостей.

Звёзды
10,829
Форки
628
Открытые issues
34
Последний коммит
10 часов назад

Что это?

FTXUI — библиотека C++ для создания терминальных интерфейсов. С её помощью разработчики описывают компоновку как дерево элементов, объединённых функциями вроде hbox, vbox и gridbox, а библиотека выводит результат в терминал. Интерактивные виджеты — кнопки, меню, поля ввода, слайдеры, флажки и выпадающие списки — доступны в виде компонентов, реагирующих на события клавиатуры, мыши и изменения размера окна.

Библиотека состоит из трёх модулей: screen для низкоуровневого отображения цветов и символов, dom для компоновки и стилизации и component для взаимодействия с пользователем и основного цикла обработки событий. FTXUI поддерживает UTF-8 и полноширинные символы, цвета, текстовое оформление, рисование на canvas с помощью символов Брайля или блоков, а также анимацию. У библиотеки нет зависимостей; подключить её можно через CMake FetchContent, Bazel, Meson, vcpkg, Conan или в виде объединённой сборки с одним заголовочным файлом. Также поддерживаются модули C++20. Среди поддерживаемых платформ — Linux и macOS, WebAssembly и Windows.

Ключевые возможности

  • 01Функциональный API на основе компонентов для создания компоновок и интерактивных виджетов
  • 02Навигация с клавиатуры и мыши и встроенные виджеты, например меню, поля ввода и слайдеры
  • 03Гибкая компоновка с помощью hbox, vbox, gridbox и flexbox
  • 04Рисование на canvas символами Брайля, блоками или обычными символами
  • 05Поддержка UTF-8 и полноширинных символов; внешние зависимости не нужны

Сценарии использования

  • Создание интерактивных CLI-инструментов с меню, формами или панелями мониторинга
  • Разработка терминальных игр и анимированной визуализации в текстовом режиме
  • Создание системных мониторов или просмотрщиков логов, подстраивающихся под размер терминала

Темы

Частые вопросы

Что такое FTXUI?
Библиотека C++ в заголовочных файлах для создания терминальных интерфейсов в функциональном компонентном стиле, без внешних зависимостей. FTXUI — библиотека C++ для создания терминальных интерфейсов. С её помощью разработчики описывают компоновку как дерево элементов, объединённых функциями вроде hbox, vbox и gridbox, а библиотека выводит результат в терминал. Интерактивные виджеты — кнопки, меню, поля ввода, слайдеры, флажки и выпадающие списки — доступны в виде компонентов, реагирующих на события клавиатуры, мыши и изменения размера окна.
FTXUI можно использовать бесплатно? Какая у него лицензия?
FTXUI распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
FTXUI всё ещё поддерживается?
Активно поддерживается. Последний коммит в FTXUI — 21 окт. 2026 г..
Для чего можно использовать FTXUI?
Создание интерактивных CLI-инструментов с меню, формами или панелями мониторинга Разработка терминальных игр и анимированной визуализации в текстовом режиме Создание системных мониторов или просмотрщиков логов, подстраивающихся под размер терминала
Где скачать FTXUI?
Исходный код и инструкции по установке — на GitHub: https://github.com/ArthurSonzogni/FTXUI

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Библиотека Go с готовыми интерактивными виджетами — формами, таблицами, деревьями, списками и текстовыми полями — для создания терминальных интерфейсов.

14,1 тыс.695GoMITОбновлён 2 месяца назад