试用 LVGL Pro,一套完整的工具包,助您高效构建、测试、分享和交付 UI!
LVGL
版本发布

LVGL v5.0 - Unicode 支持、主题系统与简化架构

LVGL v5.0 引入了 UTF-8 解码的 Unicode 支持、样式主题、新的智能手机风格控件(键盘、滚轮、选项卡视图),并通过对象类型继承简化了整体架构。

加博尔·基什-瓦莫希加博尔·基什-瓦莫希3 分钟阅读

v5.0.0 版本现已发布,带来了更加简化的架构设计。现在图形库仅包含 lvgl 仓库本身。除了架构变更外,本版本还新增了 Unicode 支持、样式主题以及新的智能手机风格对象类型。为了让开发者更容易上手,我们在 lv_examples 仓库中发布了配套教程。

破坏性变更

请注意,这是一个主要版本更新,与之前版本不向后兼容。强烈建议阅读文档中的基础部分以了解新特性。

架构变更#

  • 将 misc 集成到 lvgl 中
  • 将 hal 集成到 lvgl 中
  • 将应用程序转换为简单示例
  • 将仓库从 proj_pc 重命名为 pc_simulator
  • 为示例创建新的独立仓库 (lv_examples)
  • 为开发板创建新的独立仓库 (lv_boards)
  • 为驱动程序创建新的独立仓库 (lv_drivers)

系统级变更#

  • 对象类型继承被隐藏。每个对象都有自己的 API(除了 lv_obj_set/get_... 函数)
  • 重构 lv_style_t 使其更加通用
  • 重命名(并略微重构)部分函数、定义和枚举,使其更具描述性
  • 将样式设为全局变量,减少代码量
  • 将字体设为全局变量,减少代码量并方便添加用户自定义字体
  • 将符号字体合并到普通内置字体中(使用普通字体时,lvgl 会自动查找符号字体)
  • 将 lv_dispi_... 重命名为 lv_indev_...
  • 简化动作函数:lv_res_t action (lv_obj_t * obj) - 如需要可使用 lv_indev_act()

新特性#

  • 支持 Unicode,提供 UTF-8 解码
  • 带有预定义样式的主题系统
  • lv_tabview:新增对象类型,使用选项卡组织内容
  • lv_sw:新增对象类型,开关控件,通过点击切换开/关(小型滑块)
  • lv_roller:新增对象类型,用于选择数值的滚轮控件(类似智能手机)
  • lv_kb:新增对象类型,键盘
  • lv_btnm:lv_btnm_set_toggle() 可切换最后一个按钮
  • lv_btnm:重构宽度控制。现在使用控制字节来设置宽度、隐藏和禁用长按
  • lv_ta:光标类型
  • lv_gauge:重构以使其更像线性仪表(移除背景但添加刻度线)
  • 样式中支持部分边框绘制
  • 隐藏抗锯齿放大(不再需要 x * LV_DOWNSCALE)

错误修复#

通过 lv_tests,我们修复了大量错误。

关于作者

加博尔·基什-瓦莫希
加博尔·基什-瓦莫希

LVGL 创始人

LVGL 的创始人和首席开发者,这是一个被全球数百万设备使用的开源嵌入式图形库。

认识博客背后的作者们

了解那些分享 LVGL 知识的优秀作者们

查看作者

订阅我们的通讯 不错过任何关于 LVGL 的新闻。我们每月最多发送 2 封邮件。

LVGL

LVGL 是最受欢迎的免费开源嵌入式图形库,支持任何 MCU、MPU 和显示类型,助您构建精美的用户界面。

我们还提供 UI 设计、实现和咨询等服务。

© 2026 LVGL。保留所有权利。
YouTubeGitHubLinkedIn