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。支持鼠标拖拽、窗口缩放、折叠菜单、 颜色拾取器、复杂的图表绘制等。




请登录后发表评论
注册
停留在世界边缘,与之惜别