CUI教程:150个C语言原生UI组件

📌 项目日期:2026年11月 | 数据来源:GitHub官方仓库 | 星数:341+

📋 项目简介

"C语言没有好用的UI库"是几十年的老话。CUI 来填坑:纯C的约150个原生UI组件,带弹簧动效,零依赖。API是声明式的——cui_column(ui, .pad = 32, .gap = 16) { cui_button(ui, "Click me", .variant = CUI_BUTTON_PRIMARY); }——写起来像现代框架,跑起来是纯C。最妙的是在线文档:同一个C库编译成WASM,由渲染器的WebGL2移植版在浏览器里跑每个组件——先试后装。

零依赖极简主义的C版演绎;Rust版的对照是 UNCUT(837行harness)与 OpenIDEA。

🔧 特性

特性说明
约150组件覆盖常见UI场景
弹簧动效内置motion系统
零依赖纯C,无GTK/Qt/web层
声明式APIcui_column/cui_row嵌套布局+参数结构体
浏览器试玩同库WASM编译,WebGL2渲染在线跑

📦 使用

# 先在浏览器试:https://yappologistic.github.io/CUI/
git clone https://github.com/yappologistic/CUI.git
#include  开箱即用
# while (cui_app_frame(app)) { cui_column(ui, ...){...} }

✅ 使用建议

📚 常见问题

CUI是什么?

纯C的原生UI组件库:约150个组件带弹簧动效,零依赖——cui_app_create/cui_column/cui_button的声明式写法,你的界面就是plain C。

在线文档的妙处?

live docs在浏览器里跑每一个组件——同一个C库编译成WASM,由它渲染器的WebGL2移植版绘制:先试后装。

适合什么项目?

想要原生性能与零依赖、又不想引入GTK/Qt重依赖的C/C++项目——工具、游戏内嵌UI、嵌入式界面。