lvgl字库使用
时间: 2025-06-03 07:18:38 浏览: 36
### LVGL 字库功能使用教程
LVGL 是一个轻量级的图形用户界面库,广泛应用于嵌入式系统中。其字库功能允许开发者轻松集成各种字体以满足不同的显示需求。以下是关于如何使用 LVGL 框架中的字库功能的详细说明。
#### 内置字库的使用
LVGL 提供了一套内置的字库,这些字库在移植时已被添加到工程当中。可以通过打开 `Middlewares/lvgl/src/font` 分组找到这些字库文件[^1]。
要使用这些字库,可以按照以下方式配置:
```c
#include "lvgl/lvgl.h"
// 初始化LVGL
void lvgl_init(void) {
lv_init();
}
// 设置文本标签并指定字体
void set_label_with_font(void) {
lv_obj_t *label = lv_label_create(lv_scr_act(), NULL);
lv_label_set_text(label, "Hello World");
lv_obj_set_style_local_text_font(label, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &lv_font_montserrat_16); // 使用内置字体
}
```
上述代码展示了如何通过 `lv_obj_set_style_local_text_font` 函数为标签对象设置字体[^1]。
#### 中文点阵字库的集成
对于需要显示中文的应用场景,可以使用专门针对 LVGL 的中文点阵字库资源。该仓库提供了涵盖 20902 个标准汉字的点阵字库,分别以 12x12、14x14 和 16x16 的点阵尺寸提供[^2]。
##### 集成步骤
1. **下载资源**:从相关仓库下载 `LVGL中文点阵字库.7z` 文件。
2. **解压文件**:使用解压缩工具解压 `.7z` 文件,获取字库文件及相关修改指导。
3. **集成到项目**:
- 将字库数据文件复制到项目的适当目录(如 `font` 分组)。
- 修改 LVGL 配置文件(如 `lv_conf.h`),启用自定义字体支持。
4. **配置 LVGL**:
```c
#include "lvgl/lvgl.h"
extern const lv_font_t lv_font_custom_chinese_16;
void init_custom_font(void) {
lv_font_add(&lv_font_custom_chinese_16, NULL); // 添加自定义字体
}
```
5. **测试显示**:编译并运行应用程序,验证中文是否正确显示。
#### 自定义中文字库的制作
如果默认的中文点阵字库无法满足需求,可以自行制作中文字库。以下是一个简单的流程[^3]:
1. 使用工具生成字库数据(如在线字库生成器或专用软件)。
2. 将生成的字库数据转换为适合 LVGL 的格式。
3. 在项目中引入生成的字库文件,并通过 `lv_font_add` 函数注册字体。
示例代码如下:
```c
#include "lvgl/lvgl.h"
extern const lv_font_t lv_font_simsun_custom;
void add_custom_font(void) {
lv_font_add(&lv_font_simsun_custom, NULL); // 注册自定义字体
}
```
#### 工程分组配置
为了更好地组织项目,建议将与字库相关的文件存放在特定的分组中。例如,在 Keil 工程中创建以下分组[^4]:
- **LVGL_myGui**:存放用户自己的界面代码文件及官方 demo。
- **LVGL_conf**:存放 LVGL 的两个配置头文件。
- **LVGL_porting**:存放显示、触摸屏等接口文件。
- **LVGL_src**:存放 LVGL 的所有底层实现文件。
通过合理的分组管理,可以提高项目的可维护性和可扩展性。
---
###
阅读全文
相关推荐

















