# GUI设计 **Repository Path**: he-dubing/gui-design ## Basic Information - **Project Name**: GUI设计 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-07 - **Last Updated**: 2025-10-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 嵌入式系统中的图形开发通常对资源占用、性能、功耗和移植性要求非常高,因此使用的图形 API 和框架通常比 PC 或移动平台更“轻量”、“专用”。 下面是常见的 **嵌入式图形 API 和框架**,按使用场景和复杂度分类: --- ## 🧩 一、常见图形 API(底层接口) | API | 说明 | 平台支持 | | ------------------- | --------------------------------- | ----------------------- | | **OpenGL ES** | 嵌入式版 OpenGL,广泛用于移动/嵌入式 | Linux、Android、RTOS | | **Vulkan SC** | Vulkan 的安全关键子集,适用于汽车、航空 | 高端嵌入式 | | **DirectFB** | 轻量 framebuffer API,早期 Linux 嵌入式常用 | Linux framebuffer | | **EGL** | 管理 OpenGL ES 上下文和 surface 的接口 | 与 OpenGL ES/Vulkan 配合使用 | | **DRM/KMS** | Linux 的显存和显示控制接口(低层) | Linux Kernel | | **GBM** | EGL buffer 管理(通常与 DRM 配合) | Linux graphics stack | | **Mali GPU Driver** | ARM 提供的 GPU 底层驱动接口 | ARM SoC 上 | --- ## 🖼️ 二、常见嵌入式 GUI 框架(中/高层) ### ✅ 面向工业界面 / 控制面板 | 框架 | 特点 | 语言 | 开源/商用 | | ------------------------------ | ------------------------------ | ---------- | -------- | | **LVGL** *(Light & Versatile)* | 超轻量、模块化、适配丰富平台(MCU/RTOS/Linux) | C | ✅ 开源 | | **TouchGFX** | ST 提供的 GUI 框架,适配 STM32 | C++ | ✅ 免费(受限) | | **Embedded Wizard** | 商业嵌入式 GUI 解决方案,性能高,工具链成熟 | C++ + 专用语言 | ⛔ 商用 | | **Qt for MCUs** | Qt 的精简版,支持 ARM Cortex-M 等平台 | QML/C++ | ⛔ 商用 | | **μGFX / TDisplay** | 更早期嵌入式 GUI,轻量,但生态弱 | C | ✅ 开源 | | **emWin** | SEGGER 提供的 GUI(STM32CubeMX集成) | C | ⛔ 商用 | --- ## 🧱 三、在嵌入式 Linux 上常见的桌面级 GUI | 框架 | 特点 | 推荐平台 | | ----------------- | --------------------------------- | ----------------- | | **Qt (Qt5/Qt6)** | 跨平台、高性能 GUI 框架(可嵌入 EGLFS) | Linux ARM | | **GTK+ (GTK3/4)** | GNOME GUI 库,适合小型 Linux 系统 | Linux | | **SDL2** | 多媒体框架,也常用于 UI + 渲染 | Linux framebuffer | | **Electron** | HTML5/JS 构建 GUI(对资源要求高,不常用于低端嵌入式) | 高端 Linux ARM | --- ## 🚀 四、轻量图形/渲染引擎(适合嵌入式 OpenGL) | 引擎 | 特点 | 适合场景 | | -------------- | --------------------------- | --------- | | **NanoVG** | 基于 OpenGL 的矢量 GUI 库 | 实时小工具 | | **Dear ImGui** | 立即模式 GUI,适合工具型界面 | 开发、调试界面 | | **Skia** | Google 的 2D 图形引擎(Android 用) | 高质量渲染 | | **Cairo** | 2D 图形绘图库(GTK 使用) | 嵌入式 Linux | --- ## ✅ 推荐选择(按场景) | 场景 | 推荐框架 | | --------------------- | ------------------------------------ | | MCU(STM32、ESP32) | LVGL / TouchGFX / emWin | | 嵌入式 Linux(ARM Debian) | Qt / GTK / SDL + NanoVG / Dear ImGui | | 实时渲染 / 自绘界面 | OpenGL ES + NanoVG / 自绘框架 | | 航空汽车 / 安全系统 | Vulkan SC / Qt Safe Renderer | ---