很多想入坑嵌入式 GUI 开发的朋友,估计都跟我当初一样,刚听说 LVGL 的时候两眼放光 ------ 这玩意儿功能强、跨平台,能做出超精致的交互界面,结果一上手就被门槛卡得没了脾气:买开发板要额外成本,搭编译环境要折腾半天,烧录调试还得对着一堆报错头大,刚燃起的热情没几天就被磨没了。

我当初踩过这些坑后就一直在想:能不能有个更轻松的入门方式?不用额外买硬件,不用折腾复杂环境,打开就能写代码、看效果,先把 LVGL 的核心玩法摸透再说?
所以就有了这个教程:我们直接用 Web 模拟器搭配 MicroPython,从零开始带你吃透 LVGL 的常用控件:从基础的样式设置,到标签、开关、LED、复选框、弧线、滑动条、图表、日历、文本框、键盘这些控件的初始化、样式定制、交互逻辑,再到怎么把它们组合起来做场景化的界面,都会一步步讲清楚。
所有代码都适配了模拟器的运行环境,注释写得明明白白,还附带了效果说明,不管是纯新手想入门,还是想快速上手 LVGL 的开发者,都能跟着走,不用再被硬件和环境劝退,先高效搞定嵌入式图形界面开发的核心技能,后面再上硬件也能轻松衔接。
咱们用的是 LVGL 官方的 Web 模拟器,这里先划个重点:它仅支持 LVGL v9.0 版本,后面所有代码、示例都是基于这个版本写的,别瞎找其他版本,不然很容易出现函数不兼容、效果出不来的问题。
直接复制下面的地址到浏览器打开就行,不用番强,也不用装插件:https://sim.lvgl.io/v9.0/micropython/ports/webassembly

打开后界面就是截图里的样子:左边是代码编辑器,右上角是实时渲染的界面效果,右下角是 MicroPython 终端。 写好代码点左上角的「Restart」按钮,就能立刻看到运行效果,比在开发板上反复烧录调试爽太多了。
刚打开时编辑器里会自带一个「Hello World」示例,直接点运行,看到界面上弹出带文字的按钮,就说明环境没问题,可以直接开写了。
后面写代码遇到问题时,可以直接去 LVGL v9.0 的官方示例页面找参考,里面有各种控件的基础 Demo,还能跳 GitHub 看源码,对照着改比自己瞎试效率高多了:

参考代码地址:https://docs.lvgl.io/9.0/examples.html
这部分我没按官方文档那种干巴巴的 API 列表来写,而是顺着「从入门到上手」的逻辑,把 LVGL 里开发者最常用的控件,拆成了一套「能直接跑、能改、能懂」的学习流程,你跟着敲就能看到效果,完全不用对着复杂的底层原理挠头:
我把目录里的控件分成了 5 类,从最基础的界面元素,到能做交互、能显示数据的复杂控件,循序渐进往上叠加难度:
lv.init() 初始化引擎、获取屏幕对象、控件父子关系这些最基础的规则,学会怎么创建一个按钮、给按钮加文字、甚至给按钮加点击事件;教程原链接如下所示:https://freakstudio.cn/node/019d25ff-e32b-79c8-9fa8-55a4bb6f4bfe

