以上代码在arduous报错 'lv_obj_t' {aka 'struct _lv_obj_t'} has no member named 'child_ll'
时间: 2024-01-21 09:03:07 浏览: 105
Paul Nation_4000 Essential English Words 6_2009.pdf
抱歉,我的回答中的代码是基于 LittlevGL v7 版本的,而 Arduous 使用的是 LittlevGL v6 版本,因此会出现上述错误。
在 LittlevGL v6 中,可以使用以下代码来清除当前页面的所有 label:
```c
lv_obj_t *label;
lv_obj_t *scr = lv_scr_act(); // 获取当前活动屏幕对象
// 遍历当前屏幕上的所有对象
LV_LL_READ(scr->child_ll, label) {
// 判断对象类型是否为 label
if(lv_obj_get_type(label) == LV_OBJX_TYPE_LABEL) {
// 删除 label 对象
lv_obj_del(label);
}
}
```
以上代码中,我们同样是先获取当前活动的屏幕对象 `scr`,然后通过遍历其 `child_ll` 链表来获取其中的所有子对象。不同的是,我们使用 `lv_obj_get_type` 函数来判断对象类型,如果是 label 类型则将其删除。
希望这次回答能够解决你的问题,如果还有其他疑问请随时提出。
阅读全文