C++很好用的TUI库:ncurses、FTXUI、 ImTui、 notcurses。 (1) ncurses ncurses是TUI界的鼻祖和标准。很 Linux命 令行工具都是用它写的:vim /nano、htop、 make menuconfig、 screen / tmux、 Midnight Commander。 ncurses可以在命令行界面里画窗口、菜单、 按钮,控制光标移动、改变文字颜色。封装底 层的输入处理,能识别功能键(F1-F12)、方 向键,支持在终端内的鼠标点击。支持设置前 景色、背景色,以及文字属性(粗体、下划 线、闪烁等)。除了核心库,还附带扩展库: 面板、菜单和表单。

(2)FTXUI FTXUI是目前最强、最现代化的C++TUI库。 全称是 Functional Terminal User Interface。 FTXUI受 React和Flutter 的启发,用函数式 编程和声明式的风格来构建界面,支持 Flexbox布局,非常适合构建复杂的自适应界 面。 界面组件可以自动调整大小适应终端窗口的变 化。支持Flexbox风格的布局系统。内置大量 常用组件:文本、段落、边框、颜色、样式; 按钮、复选框、单选框、输入框、滑动条、下 拉菜单等。 容器有垂直/水平布局、网格、可折叠面板 等。支持键盘(Tab键切换焦点、方向键移 动)和鼠标点击交互。 文档非常丰富,主要托管在GitHub上,有大 量的示例代码和教程。

(3)Notcurses 一个要取代ncurses的现代TUI库,除了文 本,还能用现代终端的能力渲染高分辨率图 像、视频,复杂的动画。性能非常的高、视觉 效果也是很炫酷,而且多线程支持很好。半透 明背景、流畅的动画、复杂的图表、显示图 片,Notcurses都能做到。 (4)ImTui ImTui是非常独特的TUI库,全称是 Immediate Mode Text UI。是把 Dear ImGui 库移植到了终端环境。 ImTui 实际上就是Dear ImGui的一个后端。如 果熟悉 Dear lmGui,就可以很快的上手 ImTui。支持鼠标拖拽、窗口缩放、折叠菜单、 颜色拾取器、复杂的图表绘制等。

【瓜分奖池】这4个C++优秀的TUI库,最牛的是FTXUI! 第5张插图
【瓜分奖池】这4个C++优秀的TUI库,最牛的是FTXUI! 第6张插图
【瓜分奖池】这4个C++优秀的TUI库,最牛的是FTXUI! 第7张插图
【瓜分奖池】这4个C++优秀的TUI库,最牛的是FTXUI! 第8张插图