LVGL Designer 是一个基于 LVGL 9.3 的图形化设计器,采用 Electron + Vue 3 + TypeScript 技术栈构建。该工具提供可视化的 UI 设计界面,支持拖拽式组件布局,可生成 LVGL 代码用于嵌入式 GUI 开发。
提供丰富的 LVGL 原生组件及自定义组件
src/
├── main/ # 主进程代码
│ ├── client.ts # 客户端通信
│ ├── files.ts # 文件操作
│ ├── pipe-server.ts # 管道服务
│ └── index.ts # 入口文件
├── preload/ # 预加载脚本
└── renderer/ # 渲染进程
└── src/
├── components/ # 公共组件
├── lvgl-widgets/ # LVGL 组件定义
├── views/ # 页面视图
│ └── designer/ # 设计器主界面
│ ├── config/ # 属性配置面板
│ ├── sidebar/ # 侧边栏
│ ├── tools/ # 工具栏
│ └── workspace/# 工作区
├── store/ # 状态管理
├── types/ # 类型定义
└── utils/ # 工具函数
pnpm install
pnpm dev
# Windows
pnpm build:win
# macOS
pnpm build:mac
# Linux
pnpm build:linux
# 格式化
pnpm format
# 代码检查
pnpm lint
# 类型检查
pnpm typecheck
app.ts: 应用全局状态project.ts: 项目状态管理action.ts: 操作历史记录pipe.ts: 管道通信状态每个 LVGL 组件包含:
*.vue)style.json)index.ts)配置面板支持:
src/renderer/src/lvgl-widgets/ 下创建组件目录index.ts 中注册组件通过主题配置文件自定义颜色方案和样式