logo资料库

开源GUI LittlevGL应用教程.pdf

第1页 / 共408页
第2页 / 共408页
第3页 / 共408页
第4页 / 共408页
第5页 / 共408页
第6页 / 共408页
第7页 / 共408页
第8页 / 共408页
资料共408页,剩余部分请下载后查看
LittlevGL应用教程
基于野牛开发板
写在前面
基础篇
第1章 LittlevGL介绍
LittlevGL控件
LittlevGL运行机制与emWin简单对比
LittlevGL硬件要求
LittlevGL支持的硬件
LittlevGL模拟器的支持
第2章 LittlevGL移植
2.1屏幕介绍
2.2移植流程
2.3开始移植
2.3.1源码下载
2.3.2添加库文件到工程
2.3.3移植文件的适配
第一步、修改配置文件
第二步、配置显示接口
第三步、配置输入设备接口
第四步、配置LittlevGL的滴答心跳时钟接口
第五步、初始化
第六步、新建一个RTOS任务
2.2.4运行演示例程
2.3模拟器运行LittlevGL
第3章 LittlevGL特性
3.1 对象 Object
3.1.1对象属性
基本属性
专有属性
3.1.2 对象工作机制
父子结构
一起移动
只可以显示在父对象上
创建和删除对象
屏幕对象
3.2 图层 Layer
3.2.1创建顺序
3.2.2成为前台
3.2.3顶层和系统层
3.3 事件 Event
3.3.1事件类型
一般事件
与输入设备有关的事件
与指针相关的事件
跟键盘和按键相关的事件
特殊事件
一般事件
事件的自定义数据
用户发送事件
3.4 样式 Style
3.4.1样式的属性
共同属性
body属性
text 文字属性
image 图片属性
line 线条属性
3.4.2 LittlevGL内置的样式
3.4.3 如何使用自定义的样式
3.5 主题 Theme
3.5.1 主题使用方法
3.5.2 主题的实时更新
3.6 字体 Font
3.6.1 Unicode支持
3.6.2 中文字体
3.6.3 内置字体
3.6.4 添加新字体
3.7 图像 Image
3.7.1 存储图像
变量方式存储
文件方式存储
颜色格式
3.7.2 转换图像
3.7.3 使用图像
3.8 文件系统 File system
3.8.1 添加文件系统驱动程序
3.9 动画 Ainmation
3.9.1 创建动画
3.9.2 动画路径
3.9.3 速度和时间
3.9.4 删除动画
3.10 任务 Task
3.10.1 创建任务
3.10.2 准备和复位
3.10.3 设置参数
3.10.4 一次性任务
3.10.5 测量空闲时间
3.10.6 异步调用
3.11 绘图 Drawing
3.11.1 缓冲类型
3.11.2 刷新机制
第4章 中文显示
4.1位图字体介绍
4.2 抗锯齿
4.3 C文件格式的汉字显示的实现
① 官网在线生成字体
② 利用字体生成软件
4.3.1 利用LvglFontTool生成字体文件
4.3.2 添加字体文件到工程
4.3.3 显示中文
第一步 引入字体定义
第二步 定义一个带有中文字体的样式
第三步 创建一个label控件并设置中文样式
4.4 XBF格式的bin文件字体
4.4.1 利用LvglFontTool生成字体文件
4.4.2 添加字体文件到工程
第一步 添加文件
第二步 修改对应的字体文件
第三步 加载bin字体到SDRAM
4.4.3 显示中文
第一步 引入字体定义
第二步 定义一个带有中文字体的样式
第三步 创建label控件并设置中文样式
第5章 图片显示
5.1 C文件格式的图片显示
5.1.1 利用工具将图片转为C文件格式
在线转换
离线转换工具
5.1.2 添加图片到工程
5.1.3 显示图片
5.2 外部存储器图片的显示
5.2.1 图片的转换
5.2.2 外部存储器图片的加载
5.2.3 外部存储器图片显示
控件篇
第6章 基础对象obj
6.1 特性介绍
6.1.1 概述
6.1.2 坐标
6.1.3 父子结构
6.1.4 屏幕
6.1.5 层
6.1.6 样式
6.1.7 事件
6.1.8 属性
6.1.9 保护
6.1.10 Group
6.1.11 扩展点击区域
6.1.12 样式
6.1.13 事件
6.1.14 按键
6.2 API
第7章 label文本控件
7.1 label控件基础知识
7.1.1 设置文本
7.1.2 长模式
7.1.3 文本对齐
7.1.4 绘制背景
7.1.5 文本重新着色
7.1.6 长文本
7.1.7 符号
7.1.8 样式
7.2 API
7.3 label实验
第8章 btn按钮控件
8.1 btn基础知识
8.1.1状态
8.1.2 布局和调节
8.1.3 按压动画效果
8.1.4 样式
8.1.5 事件
8.2 API
8.3 btn实验
第9章 arc弧形控件
9.1 arc基础知识
9.1.1 角度
9.1.2 样式
9.1.3 事件
9.2 API
9.3 arc实验
第10章 btnm按钮阵列控件
10.1 btnm基础知识
10.1.1 按钮的文本
10.1.2 设置按钮属性
10.1.3 one_toggle
10.1.4 文本重新着色
10.1.5 样式
10.1.6 事件
10.2 API
10.3 btnm实验
第11章 bar进度条控件
11.1 bar控件基础知识
11.1.1 范围
11.1.2 对称
11.1.3 样式
11.1.4 事件
11.2 API
11.3 bar实验
第12章 sw开关控件
12.1 sw控件基础知识
12.1.1 更改开关状态
12.1.2 动画时间
12.1.3 样式
12.1.4 事件
12.2 API
12.3 sw实验
第13章 calendar日历控件
13.1 calendar控件基础知识
13.1.1 日期显示
13.1.2 高亮显示
13.1.3 月份和日期名称
13.1.4 样式
13.1.5 事件
13.2 API
13.3 calendar实验
第14章 canvas画布控件
14.1 canvas控件基础知识
14.1.1 缓冲区
14.1.2 绘图
14.1.3 旋转
14.1.4 样式
14.1.5 事件
14.2 API
14.3 canvas实验
第15章 cb复选框控件
15.1 cb控件基础知识
15.1.1 文本
15.1.2 选择/取消
15.1.3 无效
15.1.4 样式
15.1.5 事件
15.2 API
15.3 cb实验
第16章 chart图表控件
16.1 chart控件基础知识
16.1.1 数据序列
16.1.2 数据序列类型
16.1.3修改数据
16.1.4 更新模式
16.1.5 点的数量
16.1.6 垂直范围
16.1.7 分割线
16.1.8 序列的外观
16.1.9 刻度和标记
16.1.10 样式
16.1.11 事件
16.2 API
16.3 chart实验
第17章 cont容器控件
17.1 cont控件基础知识
17.1.1 布局
17.1.2 自动调整
17.1.3 样式
17.1.4 事件
17.2 API
17.3 cont实验
第18章 ddlist下拉列表控件
18.1 ddlist控件基础知识
18.1.1 设置选项
18.1.2 获取选定项目
18.1.3 对齐选项
18.1.4 高度和宽度
18.1.5 滚动条
18.1.6 动画时间
18.1.7 装饰箭头
18.1.8 手动打开/关闭
18.1.9 保持开放
18.1.10 样式
18.1.11 事件
18.2 API
18.3 ddlist实验
第19章 gauge量规控件
19.1 gauge控件基础知识
19.1.1 刻度和标签
19.1.2 指针
19.1.3 范围
19.1.4 临界值
19.1.5 样式
19.1.6 事件
19.2 API
19.3 gauge实验
第20章 kb键盘控件
20.1 kb控件基础知识
20.1.1 模式
20.1.2 指定文本区域
20.1.3 新的按键分布
20.1.4 样式
20.1.5 事件
20.2 API
20.3 kb实验
第21章 led控件
21.1 led控件基础知识
21.1.1 亮度
21.1.2 开关和切换
21.1.3 样式
21.1.4 事件
21.2 API
21.3 LED实验
第22章 line线条控件
22.1 line控件基础知识
22.1.1 设置点
22.1.2 自动大小
22.1.3 反转Y
22.1.4 样式
22.1.5 事件
22.2 API
22.3 line实验
第23章 list列表控件
23.1 list控件基础知识
23.1.1 添加按钮
23.1.2 删除按钮
23.1.3 获取按钮
23.1.4 手动导航
23.1.5 边缘闪烁
23.1.6 滚动传播
23.1.7 单选模式
23.1.8 选中按钮
23.1.9 滚动条
23.1.10 样式
23.1.11 事件
23.2 API
23.3 list实验
第24章 mbox消息提示框控件
24.1 mbox控件基础知识
24.1.1 设置文本
24.1.2 添加按钮
24.1.3 自动关闭
24.1.4 文本重新着色
24.1.5 样式
24.1.6 事件
24.2 API
24.3 mbox实验
第25章 page页面控件
25.1 page控件基础知识
25.1.1 滚动条
25.1.2 粘合对象
25.1.3 焦点对象
25.1.4 手动导航
25.1.5 边缘闪烁
25.1.6 可滚动部分
25.1.7 样式
25.2 API
25.3 page实验
第26章 preload预加载器控件
26.1 preload控件基础知识
26.1.1 弧长/角度
26.1.2 旋转速度
26.1.3 旋转类型
26.1.4 旋转方向
26.1.5 样式
26.1.6 事件
26.1 API
26.3 preload实验
第27章 roller滚动轴控件
27.1 roller控件基础知识
27.1.1 设置选项
27.1.2 获取选定选项
27.1.3 对齐选项
27.1.4 高度和宽度
27.1.5 动画时间
27.1.6 样式
27.1.7 事件
27.2 API
27.3 roller实验
第28章 slider滑块控件
28.1 slider控件基础知识
28.1.1 滑块的值和范围
28.1.2 滑块绘制属性
28.1.3 样式
28.1.4 事件
28.2 API
28.3 slider实验
第29章 spinbox控件
29.1 spinbox控件基础知识
29.1.1 设置格式
29.1.2 值和范围
29.1.3 当前编辑数字
29.1.4 样式
29.1.5 事件
29.2 API
29.3 spinbox实验
第30章 table表格控件
30.1 table控件基础知识
30.1.1 行和列的数量
30.1.2 单元格尺寸
30.1.3 单元格的文本
30.1.4 对齐
30.1.5 单元格类型
30.1.6 合并单元格
30.1.7 裁剪文本
30.1.8 样式
30.1.9 事件
30.2 API
30.3 table实验
第31章 tableview表视图控件
31.1 tableview控件基础知识
31.1.1 添加页面
31.1.2 切换页面
31.1.3 导航栏
31.1.4 动画时间
31.1.5 样式
31.1.6 事件
31.2 API
31.3 tableview实验
第32章 ta文字输入控件
32.1 ta控件基础知识
32.1.1 文本操作
32.1.2 占位符
32.1.4 光标显示模式
32.1.5 单行模式
32.1.6 密码模式
32.1.7 文本对齐
32.1.8 可接受字符
32.1.9 最大文本长度
32.1.10 很长的文本
32.1.11 选择文本
32.1.12 滚动传播
32.1.13 边缘闪烁
32.1.14 样式
32.1.15 事件
32.2 API
32.3 ta实验
第33章 tileview平铺视图控件
33.1 tileview基础知识
33.1.1 有效位置
33.1.2 添加元素
33.1.3 设置当前页面
33.1.4 动画时间
33.1.5 边缘闪烁
33.1.6 样式
33.1.7 事件
33.2 API
33.3 tileview实验
第34章 win窗口控件
34.1 win控件基础知识
34.1.1 标题
34.1.2 控制按钮
34.1.3 主页面
34.1.4 滚动条
34.1.5 手动滚动或聚焦
34.1.6 布局
34.1.7 样式
34.1.8事件
34.2 API
34.3 win实验
应用篇
第35章模拟桌面系统应用
第36章模拟微信应用
第37章 天气预报APP
第38章 温度监控APP
武汉跳兔科技有限公司 LittlevGL 应用教程 基于野牛开发板
武汉跳兔科技有限公司 写在前面 本教程基于野牛开发板进行制作,介绍开源 GUI 库 LittlevGL 的特性以及 使用方法和应用开发。 作者水平有限,如果读者发现有错误或者不严谨的地方请反馈至作者。 本教程中 LittlevGL 版本 V6.0 教程中例程下载地址: https://gitee.com/mzy2364 跳兔科技官网: www.whtiaotu.com STM32/GUI/QT 嵌入式 QQ 交流群: 909796874
武汉跳兔科技有限公司 目录 第 1 章 LittlevGL 介绍........................................................................................................................... 5 第 2 章 LittlevGL 移植......................................................................................................................... 13 第 3 章 LittlevGL 特性......................................................................................................................... 28 第 4 章 中文显示.................................................................................................................................. 57 第 5 章 图片显示.................................................................................................................................. 72 第 6 章 基础对象 obj........................................................................................................................... 83 第 7 章 label 文本控件......................................................................................................................108 第 8 章 btn 按钮控件.........................................................................................................................120 第 9 章 arc 弧形控件......................................................................................................................... 131 第 10 章 btnm 按钮阵列控件...........................................................................................................137 第 11 章 bar 进度条控件.................................................................................................................. 148 第 12 章 sw 开关控件........................................................................................................................154 第 13 章 calendar 日历控件............................................................................................................162 第 14 章 canvas 画布控件............................................................................................................... 172 第 15 章 cb 复选框控件.................................................................................................................... 183 第 16 章 chart 图表控件................................................................................................................... 191 第 17 章 cont 容器控件.....................................................................................................................215 第 18 章 ddlist 下拉列表控件.......................................................................................................... 227 第 19 章 gauge 量规控件.................................................................................................................239 第 20 章 kb 键盘控件........................................................................................................................ 249 第 21 章 led 控件...............................................................................................................................260
武汉跳兔科技有限公司 第 22 章 line 线条控件......................................................................................................................266 第 23 章 list 列表控件....................................................................................................................... 273 第 24 章 mbox 消息提示框控件...................................................................................................... 287 第 25 章 page 页面控件...................................................................................................................297 第 26 章 preload 预加载器控件......................................................................................................312 第 27 章 roller 滚动轴控件...............................................................................................................318 第 28 章 slider 滑块控件.................................................................................................................. 328 第 29 章 spinbox 控件......................................................................................................................335 第 30 章 table 表格控件................................................................................................................... 343 第 31 章 tableview 表视图控件...................................................................................................... 353 第 32 章 ta 文字输入控件................................................................................................................. 363 第 33 章 tileview 平铺视图控件...................................................................................................... 384 第 34 章 win 窗口控件......................................................................................................................392
武汉跳兔科技有限公司
武汉跳兔科技有限公司 基础篇 第 1 章 LittlevGL 介绍 LittlevGL 是一个免费的开放源代码图形库,它提供创建嵌入式 GUI 所需的 一切,它具有易于使用的图形元素,精美的视觉效果和低内存占用。 强大的构建块按钮,图表,列表,滑块,图像等,带有动画,抗锯齿,不 透明度,平滑滚动的高级图形,各种输入设备的触摸板,鼠标,键盘,编码器 等,多显示器支持,即同时使用更多的 TFT 和单色显示器,支持 UTF-8 编码的 多语言,完全可定制的图形元素。 独立于任何微控制器或显示器使用的硬件,可扩展以使用较少的内存(80 kB 闪存,12 kB RAM),支持操作系统,外部存储器和 GPU,但不是必需的,即 使使用单帧缓冲区操作,也具有高级图形效果。 用 C 语言编写,以实现最大的兼容性(与 C ++兼容),模拟器可在没有嵌 入式硬件的 PC 上启动嵌入式 GUI 设计,快速 GUI 设计的教程,示例,主题,在 线和离线文档,在 MIT 许可下免费和开源。 LittlevGL 效果展示:
武汉跳兔科技有限公司 LittlevGL 官网:https://littlevgl.com/ GitHub 地址:https://github.com/littlevgl LittlevGL 控件 演示 名称 arc bar btn btnm calender
武汉跳兔科技有限公司 canvas chart checkbox cont ddlist gauge
分享到:
收藏