8.3.3
简介
主要特性
要求
指针
结构体
回调
许可证
存储库布局
发布策略
发布周期
分支
更新日志
版本支持
常见问题
我可以在哪里提问?
我的 MCU/硬件是否受支持?
我的显示器是否受支持?
LVGL 无法启动、随机崩溃或显示器上没有绘制任何内容。可能是什么问题?
为什么我的显示驱动程序没有被调用?我可能遗漏了什么?
为什么显示驱动程序只被调用了一次?只有显示器的上部被刷新。
为什么屏幕上显示的是乱码?
为什么屏幕上显示的是无意义的颜色?
如何加速我的 UI?
如何减少 Flash/ROM 使用量?
如何减少 RAM 使用量?
如何与操作系统一起工作?
Examples
Get started
带有标签的按钮并响应点击事件
从头开始为按钮创建样式
创建一个滑块并将其值写入标签
Styles
尺寸样式
背景样式
边框样式
轮廓样式
阴影样式
图像样式
文本样式
线条样式
过渡效果
使用多个样式
局部样式
为部件和状态添加样式
扩展当前主题
不透明度和变换
Animations
在事件上启动动画
回放动画
动画时间轴
Events
按钮点击事件
处理多个事件
事件冒泡
Layouts
Flex
使用弹性盒的简单行和列布局
在行中排列项目,带有换行和均匀间距
演示弹性增长
演示弹性增长
演示列和行间隙样式属性
RTL 基础方向更改项目顺序
Grid
一个简单的网格
演示单元格的放置和跨越
演示网格的“自由单位”
演示轨道放置
演示列和行间隙
演示网格上的 RTL 方向
Scrolling
嵌套滚动
捕捉滚动
浮动按钮
滚动条样式
从右到左滚动
滚动时平移
Widgets
Base object
Base objects with custom styles
Make an object draggable
Arc
简单的弧形
带弧形的加载器
Bar
简单的进度条
进度条样式
温度计
条纹图案和范围值
具有从左到右和从右到左基方向的进度条
自定义绘制器以显示当前值
Button
简单按钮
按钮样式
软糖按钮
Button matrix
简单按钮矩阵
自定义按钮
分页
Calendar
带有标题的日历
Canvas
在画布上绘图并旋转
带有色键的透明画布
Chart
折线图
带有自定义分割线的渐变区域折线图
带滚动的轴刻度和标签
显示按下点的值
显示 1000 个数据点并支持缩放和滚动
在点击点上显示光标
散点图
堆叠区域图
Checkbox
简单的复选框
将复选框用作单选按钮
Colorwheel
简单的颜色轮
Dropdown
简单的下拉列表
四个方向的下拉
菜单
Image
Image from variable and symbol
Image recoloring
Rotate and zoom
Image offset and styling
Image button
简单的图像按钮
Keyboard
Keyboard with text area
Label
Line wrap, recoloring and scrolling
Text shadow
Show LTR, RTL and Chinese texts
Draw label with gradient color
Customize circular scrolling animation
LED
LED with custom style
Line
Simple Line
List
Simple List
Sorting a List using up and down buttons
Menu
Simple Menu
Simple Menu with root btn
Simple Menu with custom header
Simple Menu with floating btn to add new menu page
Complex Menu
Meter
Simple meter
A meter with multiple arcs
A clock from a meter
Pie chart
Message box
Simple Message box
Roller
Simple Roller
Styling the roller
add fade mask to roller
Slider
Simple Slider
Slider with custom style
Slider with extended drawer
Span
Span with custom styles
Spinbox
Simple Spinbox
Spinner
Simple spinner
Switch
Simple Switch
Table
Simple table
Lightweighted list from table
Tabview
Simple Tabview
Tabs on the left, styling and no scrolling
Textarea
Simple Text area
Text area with password field
Text auto-formatting
Tabview
Tileview with content
Window
Simple window
入门指南
快速概览
在模拟器中开始
将 LVGL 添加到您的项目中
学习基础知识
小部件
平台
PC 上的模拟器
选择一个 IDE
设置 Eclipse CDT
NXP
使用 LVGL 创建新项目
NXP iMX RT 平台的硬件加速
STM32
Espressif (ESP32 芯片系列)
ESP32 的 LVGL 演示项目
在您的 ESP-IDF 项目中使用 LVGL
在 ESP-IDF 项目中使用 lvgl_esp32_drivers
Arduino
获取 LVGL Arduino 库
设置驱动程序
配置 LVGL
初始化并运行 LVGL
使用示例和演示
调试和日志记录
Tasmota 和 Berry
什么是 Tasmota?
什么是 Berry?
为什么选择 LVGL + Tasmota + Berry?
那它看起来是什么样子的?
我该如何使用它?
我在哪里可以找到更多信息?
CMake
Espressif (ESP32)
MicroPython
Zephyr
前置条件
使用 CMake 构建 LVGL
使用 CMake 构建 LVGL 示例
使用 CMake 构建 LVGL 驱动程序和演示
使用 CMake 构建共享库
(实时)操作系统
NuttX 实时操作系统
什么是 NuttX?
为什么选择 NuttX + LVGL?
如何开始使用 NuttX 和 LVGL?
我可以在哪里找到更多信息?
RT-Thread 实时操作系统
什么是 RT-Thread?
如何在 RT-Thread 上运行 LVGL?
FreeRTOS
Zephyr
Bindings
Micropython
What is Micropython?
Why Micropython + LVGL?
So what does it look like?
How can I use it?
Where can I find more information?
Cpp
移植
设置项目
获取库
将 lvgl 添加到您的项目
自动添加文件
Make 和 CMake
其他平台和工具
示例和演示
配置文件
初始化
显示接口
绘图缓冲区
缓冲模式
单缓冲区
双缓冲区
全屏刷新
直接模式
显示驱动程序
必须字段
可选字段
示例
其他选项
旋转
解耦显示刷新计时器
进一步阅读
API
输入设备接口
输入设备的类型
触摸板、鼠标或任何指针设备
键盘或按键
编码器
按钮
其他功能
参数
反馈
与显示设备关联
缓冲读取
进一步阅读
API
Tick 接口
API
定时器处理程序
睡眠管理
操作系统和中断
任务和线程
中断
日志记录
日志级别
打印日志
使用 printf 记录日志
自定义日志函数
添加日志
添加自定义 GPU
绘图上下文
字段
初始化
软件渲染器
混合回调
扩展软件渲染器
新的混合回调
新的矩形绘制器
完全自定义绘图引擎
概述
对象
属性
基本属性
特定属性
工作机制
父子结构
一起移动
仅在父对象上可见
创建和删除对象
屏幕
创建屏幕
获取活动屏幕
加载屏幕
层
处理多个显示器
部件
状态
快照
位置、尺寸和布局
概述
单位
盒模型
重要说明
位置
简单方法
对齐
尺寸
简单方法
使用样式
平移
变换
最小和最大尺寸
布局
概述
内置布局
标志
添加新布局
示例
样式
状态
样式级联
继承
强制值继承/默认值
部件
初始化样式并设置/获取属性
向小部件添加和移除样式
添加样式
移除样式
报告样式更改
获取对象上的属性值
本地样式
属性
典型背景属性
过渡
不透明度、混合模式和变换
颜色过滤器
主题
扩展主题
示例
尺寸样式
背景样式
边框样式
轮廓样式
阴影样式
图像样式
弧形样式
文本样式
线条样式
过渡效果
使用多个样式
局部样式
为部件和状态添加样式
扩展当前主题
不透明度和变换
API
样式属性
大小和位置
width
min_width
max_width
height
min_height
max_height
x
y
align
transform_width
transform_height
translate_x
translate_y
transform_zoom
transform_angle
transform_pivot_x
transform_pivot_y
滚动
概述
滚动条
事件
基本示例
滚动功能
可滚动
滚动链
滚动惯性
弹性滚动
对齐
单次滚动
聚焦时滚动
手动滚动
自身大小
示例
嵌套滚动
捕捉滚动
浮动按钮
滚动条样式
从右到左滚动
滚动时平移
图层
创建顺序
移到前景
顶层和系统层
事件
为对象添加事件
从对象中移除事件
事件代码
输入设备事件
绘图事件
其他事件
特殊事件
自定义事件
发送事件
刷新事件
lv_event_t 的字段
事件冒泡
示例
按钮点击事件
处理多个事件
事件冒泡
输入设备
指针
光标
手势
键盘和编码器
组
样式
API
输入设备
组
显示器
多显示器支持
仅使用一个显示器
镜像显示器
分割图像
屏幕
透明屏幕
显示器的功能
不活动时间
背景
API
颜色
创建颜色
RGB
HSV
调色板
修改和混合颜色
内置颜色
不透明度
颜色类型
转换颜色
API
字体
Unicode 支持
内置字体
普通字体
特殊字体
特殊功能
双向支持
阿拉伯语和波斯语支持
子像素渲染
压缩字体
添加新字体
添加新符号
运行时加载字体
添加新的字体引擎
使用字体回退
图像
存储图像
变量
文件
颜色格式
添加和使用图像
在线转换器
手动创建图像
使用图像
图像解码器
自定义图像格式
注册图像解码器
手动使用图像解码器
图像缓存
缓存大小
图像的价值
内存使用
清理缓存
API
图像缓冲区
文件系统
可用的驱动程序
添加驱动程序
注册驱动程序
实现回调函数
其他回调函数
使用示例
在图像中使用驱动器
API
动画
创建动画
动画路径
速度与时间
删除动画
时间轴
示例
在事件上启动动画
回放动画
动画时间轴
API
定时器
创建定时器
就绪和重置
设置参数
重复计数
测量空闲时间
异步调用
API
绘图
屏幕刷新的机制
遮罩
使用遮罩
挂钩绘图
主绘图
后绘图
部分绘图
其他
Renderers and GPUs
Software renderer
SDL renderer
ARM-2D GPU
NXP PXP and VGLite GPU
DMA2D GPU
New widget
小部件
基础对象 (lv_obj)
概述
坐标
父对象和子对象
显示和屏幕
事件
样式
标志
组
扩展点击区域
事件
按键
示例
Base objects with custom styles
Make an object draggable
API
核心小部件
弧形控件 (lv_arc)
概述
部件和样式
用法
事件
按键
示例
API
条形图 (lv_bar)
概述
部件和样式
用法
事件
按键
示例
API
按钮 (lv_btn)
概述
部件和样式
用法
事件
按键
示例
API
按钮矩阵 (lv_btnmatrix)
概述
部件和样式
用法
事件
按键
示例
API
Canvas (lv_canvas)
概述
部件和样式
用法
事件
按键
示例
API
复选框 (lv_checkbox)
概述
部件和样式
用法
事件
按键
示例
API
下拉列表 (lv_dropdown)
概述
部件和样式
用法
事件
按键
示例
API
图像 (lv_img)
概述
部件和样式
用法
变换
事件
按键
示例
API
标签 (lv_label)
概述
部件和样式
用法
事件
按键
示例
API
线条 (lv_line)
概述
部件和样式
用法
事件
按键
示例
API
滚轮 (lv_roller)
概述
部件和样式
用法
事件
按键
示例
API
滑块 (lv_slider)
概述
部件和样式
用法
事件
按键
示例
API
开关 (lv_switch)
概述
部件和样式
用法
事件
按键
示例
API
表格 (lv_table)
概述
部件和样式
用法
事件
按键
示例
API
文本区域 (lv_textarea)
概述
部件和样式
用法
事件
按键
示例
API
扩展小部件
动画图像 (lv_animimg)
概述
部件和样式
用法
事件
按键
示例
API
日历 (lv_calendar)
概述
部件和样式
用法
事件
按键
标题
示例
API
图表 (lv_chart)
概述
部件和样式
用法
事件
按键
示例
API
色轮 (lv_colorwheel)
概述
部件和样式
用法
事件
按键
示例
API
图像按钮 (lv_imgbtn)
概述
部件和样式
用法
事件
按键
示例
API
键盘 (lv_keyboard)
概述
部件和样式
用法
事件
按键
示例
API
LED (lv_led)
概述
部件和样式
用法
事件
按键
示例
API
列表 (lv_list)
概述
部件和样式
用法
事件
按键
示例
API
菜单 (lv_menu)
概述
部件和样式
用法
事件
按键
示例
API
仪表 (lv_meter)
概述
部件和样式
用法
事件
按键
示例
API
消息框 (lv_msgbox)
概述
部件和样式
用法
事件
按键
示例
API
富文本 (lv_span)
概述
部件和样式
用法
事件
按键
示例
API
微调框 (lv_spinbox)
概述
部件和样式
事件
按键
示例
API
加载动画 (lv_spinner)
概述
部件和样式
用法
事件
按键
示例
API
选项卡视图 (lv_tabview)
概述
部件和样式
用法
事件
按键
示例
API
瓦片视图 (lv_tileview)
概述
部件和样式
用法
事件
按键
示例
API
窗口 (lv_win)
概述
部件和样式
用法
获取部件
事件
按键
示例
API
布局
弹性布局 (Flex)
概述
术语
简单接口
弹性流
弹性对齐
弹性扩展
样式接口
内部填充
其他功能
RTL
新轨道
示例
使用弹性盒的简单行和列布局
在行中排列项目,带有换行和均匀间距
演示弹性增长
演示弹性增长
演示列和行间隙样式属性
RTL 基础方向更改项目顺序
API
网格布局 (Grid)
概述
术语
简单接口
网格描述符
网格项目
网格对齐
样式接口
内部填充
其他功能
RTL
示例
一个简单的网格
演示单元格的放置和跨越
演示网格的“自由单位”
演示轨道放置
演示列和行间隙
演示网格上的 RTL 方向
API
第三方库
文件系统接口
使用方法
BMP 解码器
限制
示例
从文件中打开 BMP 图像
API
JPG 解码器
概述
用法
转换器
将 JPG 转换为 C 数组
将 JPG 转换为 SJPG
示例
加载 SJPG 图像
API
PNG 解码器
示例
从文件和变量中打开 PNG 图像
API
GIF 解码器
将 GIF 文件转换为 C 数组
从文件中使用 GIF 图像
内存需求
示例
从文件和变量中打开 GIF 图像
API
FreeType 支持
安装 FreeType
将 FreeType 添加到您的项目
使用方法
示例
使用 FreeType 打开字体
了解更多
API
二维码
入门
注意事项
示例
创建二维码
API
Lottie 播放器
构建 Rlottie
使用方法
从文件使用 Rlottie
从原始字符串数据使用 Rlottie
获取动画
控制动画
示例
从原始数据加载 Lottie 动画
从文件加载 Lottie 动画
API
FFmpeg 支持
安装 FFmpeg
将 FFmpeg 添加到您的项目
使用方法
示例
解码图像
解码视频
API
其他
快照
用法
释放图像
使用现有缓冲区
示例
简单的快照示例
API
Monkey
使用方法
示例
触摸板猴子示例
编码器猴子示例
按钮猴子示例
API
网格导航
使用方法
可聚焦对象
示例
Basic grid navigation
Grid navigation on a list
Nested grid navigations
Simple navigation on a list widget
API
Fragment(片段)
使用方法
创建 Fragment 类
使用
lv_fragment_manager
基于 Fragment 的导航
示例
基本片段用法
堆栈导航示例
API
消息传递
消息 ID
发送消息
订阅消息
使用 lv_obj 订阅
取消订阅
示例
Slider to label messaging
Handling login and its states
Setting the same value from many sources
API
图像字体 (imgfont)
使用方法
示例
在文本中使用表情符号
API
拼音输入法
使用方法
自定义词库
词库格式
应用新词库
输入模式
示例
Pinyin IME 26 key input
Pinyin IME 9 key input
API
Contributing
Introduction
Pull request
From GitHub
From command line
Commit message format
Developer Certification of Origin (DCO)
Overview
Accepted licenses and copyright notices
Your own work
Use code from online source
Use MIT licensed code
Use GPL licensed code
Ways to contribute
Give LVGL a Star
Tell what you have achieved
Write examples
Improve the docs
Report bugs
Send fixes
Join the conversations in the Forum
Add features
Become a maintainer
Move your project repository under LVGL organization
Changelog
v8.3.3 06 October 2022
v8.3.2 27 September 2022
Fixes
Docs
CI and tests
Others
v8.3.1 25 July 2022
Fixes
Examples
Docs
v8.3.0 6 July 2022
Overview
New Features
Performance
Fixes
Examples
Docs
CI and tests
v8.2.0 31 January 2022
Overview
Breaking Changes
Architectural
New Features
Performance
Fixes
Examples
Docs
CI and tests
v8.1.0 10 November 2021
Overview
Breaking Changes
Architectural
New Features
Performance
Fixes
Examples
Docs
CI and tests
Others
v8.0.2 (16.07.2021)
v8.0.1 (14.06.2021)
v8.0.0 (01.06.2021)
Directory structure
Widget changes
New scrolling
New layouts
Styles
Events
Driver changes
Other changes
New release policy
Migrating from v7 to v8
v7.11.0 (16.03.2021)
New features
Bugfixes
v7.10.1 (16.02.2021)
Bugfixes
v7.10.0 (02.02.2021)
New features
Bugfixes
v7.9.1 (19.01.2021)
Bugfixes
v7.9.0 (05.01.2021)
New features
Bugfixes
v7.8.1 (15.12.2020)
Bugfixes
v7.8.0 (01.12.2020)
New features
Bugfixes
v7.7.2 (17.11.2020)
Bugfixes
v7.7.1 (03.11.2020)
Bugfixes
v7.7.0 (20.10.2020)
New features
Bugfixes
v7.6.1 (06.10.2020)
Bugfixes
v7.6.0 (22.09.2020)
New features
Bugfixes
v7.5.0 (15.09.2020)
New features
Bugfixes
v7.4.0 (01.09.2020)
New features
Bugfixes
v7.3.1 (18.08.2020)
Bugfixes
v7.3.0 (04.08.2020)
New features
Bugfixes
v7.2.0 (21.07.2020)
New features
Bugfixes
v7.1.0 (07.07.2020)
New features
Bugfixes
v7.0.2 (16.06.2020)
Bugfixes
v7.0.1 (01.06.2020)
Bugfixes
v7.0.0 (18.05.2020)
Documentation
Legal changes
New drawing system
New style system
GPU integration
Renames
Reworked and improved object
New object types
Others
Demos
New release policy
Migrating from v6 to v7
Roadmap
v8.2
Ideas
LVGL
»
小部件
»
核心小部件
Edit on GitHub
核心小部件
¶
弧形控件 (lv_arc)
条形图 (lv_bar)
按钮 (lv_btn)
按钮矩阵 (lv_btnmatrix)
Canvas (lv_canvas)
复选框 (lv_checkbox)
下拉列表 (lv_dropdown)
图像 (lv_img)
标签 (lv_label)
线条 (lv_line)
滚轮 (lv_roller)
滑块 (lv_slider)
开关 (lv_switch)
表格 (lv_table)
文本区域 (lv_textarea)