arduino报错too few arguments to function 'bool lv_obj_check_type(const lv_obj_t*, const lv_obj_class_t*)'
时间: 2023-08-11 16:05:24 浏览: 176
非常抱歉,之前的回答中 `lv_obj_check_type` 函数的参数有误,导致了编译错误。在 Arduous 中,正确的函数声明如下:
```c
bool lv_obj_check_type(const lv_obj_t * obj, const lv_obj_class_t * class_p);
```
可以使用以下代码来清除当前页面的所有 label:
```c
lv_obj_t *label;
lv_obj_t *scr = lv_scr_act(); // 获取当前活动屏幕对象
// 遍历当前屏幕上的所有对象
label = lv_obj_get_child(scr, NULL);
while(label != NULL) {
// 判断对象类型是否为 label
if(lv_obj_check_type(label, &lv_label_class)) {
// 删除 label 对象
lv_obj_del(label);
}
label = lv_obj_get_child(scr, label);
}
```
以上代码中,我们同样是先获取当前活动的屏幕对象 `scr`,然后使用 `lv_obj_get_child` 函数来获取当前页面的第一个子对象 `label`。然后在一个循环中,我们遍历当前页面上的所有子对象,对于每个子对象,我们使用 `lv_obj_check_type` 函数来判断其类型是否为 label,如果是,则将其删除。
希望这次回答能够解决你的问题,如果还有其他疑问请随时提出。
阅读全文