Repolode
ArthurSonzogni

ArthurSonzogni/FTXUI

一个基于函数式风格的 C++ 终端用户界面库,无外部依赖,支持键盘和鼠标交互。

Star
10,829
Fork
628
未关闭 Issue
34
最近提交
10小时前

这是什么?

FTXUI 是一个用于构建终端用户界面的 C++ 库。开发者可以用 hbox、vbox、gridbox 等函数将元素组合成树状布局,并渲染到终端中。按钮、菜单、输入框、滑块、复选框、下拉框等交互组件会响应键盘、鼠标和窗口尺寸变化等事件。

库分为三个模块:screen 负责颜色和字符的底层渲染,dom 负责布局与样式,component 负责交互和主事件循环。它支持 UTF-8 与全角字符、多种颜色、文本样式、使用盲文或色块字符的画布绘图以及动画。项目没有外部依赖,可通过 CMake FetchContent、Bazel、Meson、vcpkg、Conan 等方式引入,也支持单头文件的合并构建以及 C++20 模块,主要面向 Linux 和 macOS,并支持 WebAssembly 与 Windows。

核心功能

  • 01函数式、组件化的 API,用于组合布局和交互控件
  • 02支持键盘和鼠标操作,内置菜单、输入框、滑块等控件
  • 03提供 hbox、vbox、gridbox、flexbox 等灵活布局方式
  • 04可使用盲文、色块或普通字符在画布上绘图
  • 05支持 UTF-8 与全角字符,且没有外部依赖

适用场景

  • 构建带菜单、表单或仪表盘的交互式命令行工具
  • 开发终端游戏或文本模式的动画可视化程序
  • 制作可随终端尺寸自适应的系统监控或日志查看器

快速上手

  1. 1

    通过 CMake FetchContent 将 FTXUI 添加到你的 C++ 项目中(README 推荐的方式)

  2. 2

    包含头文件 <ftxui/ftxui.hpp> 并链接 CMake 目标 ftxui::ftxui

使用前须知

  • 主要支持 Linux 和 macOS;Windows 支持由贡献者提供。

标签

常见问题

FTXUI 是什么?
一个基于函数式风格的 C++ 终端用户界面库,无外部依赖,支持键盘和鼠标交互。 FTXUI 是一个用于构建终端用户界面的 C++ 库。开发者可以用 hbox、vbox、gridbox 等函数将元素组合成树状布局,并渲染到终端中。按钮、菜单、输入框、滑块、复选框、下拉框等交互组件会响应键盘、鼠标和窗口尺寸变化等事件。
FTXUI 可以免费使用吗?用的什么许可证?
FTXUI 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
FTXUI 还在维护吗?
活跃维护中。FTXUI 最近一次提交是在 2026年10月21日。
FTXUI 适合用来做什么?
构建带菜单、表单或仪表盘的交互式命令行工具 开发终端游戏或文本模式的动画可视化程序 制作可随终端尺寸自适应的系统监控或日志查看器
FTXUI 怎么安装和运行?
通过 CMake FetchContent 将 FTXUI 添加到你的 C++ 项目中(README 推荐的方式) 包含头文件 <ftxui/ftxui.hpp> 并链接 CMake 目标 ftxui::ftxui
在哪里获取 FTXUI?
源代码和安装说明在 GitHub 上:https://github.com/ArthurSonzogni/FTXUI

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目