FTXUI中文文档

FTXUI中文文档

翻译版本:2025/8/27

简介

演示图像

FTXUI 是一个简单、跨平台的 C++ 库,用于构建终端用户界面!

特性

  • 函数式风格。灵感来源于 1React
  • 无依赖
  • 跨平台
  • 简洁优雅的语法(个人观点)
  • 键盘和鼠标导航
  • 支持 UTF8全角字符 (→ 测试)
  • 支持动画效果。演示 1, 演示 2
  • 支持绘图功能。演示
  • 通过示例教程学习
  • 支持多种构建系统和软件包
  • 良好的工程实践:文档、测试、模糊测试、性能测试、自动化 CI、自动化打包等

示例

#include <ftxui/dom/elements.hpp>
#include <ftxui/screen/screen.hpp>
#include <iostream>

int main() {
  using namespace ftxui;

  // 创建包含三个文本元素的简单文档
  Element document = hbox({
    text("左侧")   | border,
    text("中间") | border | flex,
    text("右侧")  | border,
  });

  // 创建宽度全屏、高度自适应文档的屏幕
  auto screen = Screen::Create(
    Dimension::Full(),       // 宽度
    Dimension::Fit(document) // 高度
  );

  // 将文档渲染到屏幕上
  Render(screen, document);

  // 将屏幕输出到控制台
  screen.Print();
}

预期输出:

┌────┐┌────────────────────────────────────┐┌─────┐
│左侧││中间                                ││右侧 │
└────┘└────────────────────────────────────┘└─────┘

支持的平台

  • Linux
  • MacOS
  • Windows
  • WebAssembly