lvgl删除当前页的所有label
时间: 2023-11-17 21:08:15 浏览: 322
物联网嵌入式ESP32开发例程17-LVGL开源图形库之标签控件lv-label的使用.rar
在 LittlevGL 中,你可以使用 `lv_obj_del()` 函数删除对象。为了删除一个页面中的所有标签,你需要遍历该页面的子对象,并删除所有类型为标签的子对象。
具体步骤如下:
1. 获取当前页面的指针。你可以使用 `lv_scr_act()` 函数来获取当前活动页面的指针,如下所示:
```
lv_obj_t *scr = lv_scr_act(); // 获取当前活动页面的指针
```
2. 遍历当前页面中的子对象,并删除所有类型为标签的子对象。代码如下:
```
lv_obj_t *child = lv_obj_get_child(scr, NULL); // 获取当前页面的第一个子对象
while (child != NULL) {
if (lv_obj_get_type(child) == LV_OBJ_TYPE_LABEL) {
lv_obj_del(child); // 删除标签对象
}
child = lv_obj_get_child(scr, child); // 获取下一个子对象
}
```
在上述代码中,我们使用了 `lv_obj_get_type()` 函数来检查子对象是否为标签,如果是,则使用 `lv_obj_del()` 函数删除该标签对象。
3. 如果你只想删除当前页面中的标签,可以忽略第二步中的 `lv_obj_get_type()` 函数,直接删除所有子对象。代码如下:
```
lv_obj_t *child = lv_obj_get_child(scr, NULL); // 获取当前页面的第一个子对象
while (child != NULL) {
lv_obj_del(child); // 删除子对象
child = lv_obj_get_child(scr, NULL); // 获取下一个子对象
}
```
希望这些代码能够帮助你删除当前页面的所有标签。
阅读全文