MicroPython LVGL基础知识和概念:显示与多屏管理

本文是 LVGL 9.0 版本面向 MicroPython 开发的「显示与多屏管理」核心知识梳理,相当于嵌入式 GUI 的 “输出窗口”,完整拆解了硬件显示(Display)与 UI 屏幕(Screen)的核心区别,覆盖多显示设备支持、单显示简化逻辑、镜像 / 分屏拼接、透明屏幕等全场景方案,帮开发者搞定嵌入式 GUI 的像素输出与多屏适配,是做稳定、灵活嵌入式界面的关键基础。

image.png

image.png

在嵌入式 GUI 开发里,显示输出是所有交互的最终载体,LVGL 把显示系统拆成了两个核心层级:Display(显示设备)是硬件层面的像素输出载体,负责把 UI 渲染结果刷到物理 / 虚拟屏幕上;Screen(屏幕)是 UI 层面的根容器,一个 Display 可以绑定多个 Screen,Screen 尺寸完全匹配所属设备,二者在本质、从属关系、操作权限上有明确区分,是理解整个显示系统的前提。

LVGL 原生支持多独立显示设备,每个设备都有专属驱动、UI 界面和色彩深度,互不干扰,开发者通过 lv_display_create() 创建新设备、lv_display_set_default() 指定默认显示,就能适配主 TFT+VNC 虚拟屏、双大屏展示、大小屏搭配等多场景需求。而绝大多数嵌入式场景仅需单显示设备,LVGL 会自动隐藏多显示的复杂逻辑,最后创建的设备自动成为默认显示,常用宏和函数默认作用于默认显示,大幅简化开发。

针对特殊需求,LVGL 还提供了灵活的扩展方案:镜像显示可通过 flush_cb 同步转发渲染缓冲区,实现画面同步;分屏拼接能把多个小物理屏拼成一个大虚拟显示屏,通过统一分辨率、裁剪修正、分屏刷写实现;透明屏幕则通过设置透明度,实现 OSD 菜单这类半透明叠加界面,满足视频底层播放 + UI 上层叠加的需求,是做高端嵌入式交互的实用功能。

文章链接:https://freakstudio.cn/node/019d25fa-4dd3-73b2-8559-fb9567f93206

image.png

eb6b459ccb3f99726a2fd06d98170352.png

e56a916b375ed771aab3187baee81773.png

posted @ 2026-04-09 23:10  FreakStudio  阅读(0)  评论(0)    收藏  举报