LVGL提供了内置函数来进行获取其父控件与子控件,lv_obj_get_child(parent, id)与lv_obj_get_parent(Obj),其中lv_obj_get_child来进行获得子控件,参数分别是父控件与子控件的索引,这个索引通常是子控件创建的顺序(从0开始),lv_obj_get_parent则是用来获取控件的父控件。我们也可以通过源码来查看
child_name : "No name"); /* 根据需要查找特定的子控件,例如通过名称或类型 */ if (/* 条件匹配 */) { /* 找到了需要的子控件,可以进行进一步的操作 */ } } 请注意,上面的代码片段中的 LV_LL_FOREACH 是一个宏,用于简化链表的遍历。LV_LL_GET_DATA 宏用于从链表节点中获取数据(在这里是子控件...
lv_label_set_text(label,"Click Me!");// 绑定点击事件lv_obj_add_event_cb(btn, btn_event_handler, LV_EVENT_CLICKED,NULL); }// 事件回调函数voidbtn_event_handler(lv_event_t*e){lv_obj_t*btn = lv_event_get_target(e); lv_label_set_text(lv_obj_get_child(btn,0),"Hello LVGL!");...
int32_t cont_y_center = cont_a.y1 + lv_area_get_height(&cont_a) / 2; int32_t r = lv_obj_get_height(cont) * 7 / 10; uint32_t i; uint32_t child_cnt = lv_obj_get_child_count(cont); for(i = 0; i < child_cnt; i++) { lv_obj_t * child = lv_obj_get_child(c...
lv_obj_get_child(obj, 0).data = (uint8_t)(((uint32_t)lv_obj_get_child(obj, 0).data << 3) | ((uint32_t)lv_obj_get_child(obj, 1).data >> 5)); lv_obj_get_child(obj, 1).data = (uint8_t)(((uint32_t)lv_obj_get_child(obj, 1).data << 6) | ((uint32_t)lv...
lv_obj_t * label = lv_obj_get_child(btn, 0); lv_label_set_text_fmt(label, "%"LV_PRIu32, cnt); cnt++; } /** * 为按钮添加点击事件 */ void lv_example_event_1(void) { lv_obj_t * btn = lv_button_create(lv_screen_active()); ...
lv_obj_t *label = lv_obj_get_child(btn, NULL); // 获取第1个子对象(我们在设计时,已安排了它的第1个子对象是一个label对象) lv_label_set_text_fmt(label, "Button: %d", cnt); // 设置标签的文本,写法类似printf } } 完成后,是这个样子的: ...
lv_obj_get_child_count(parent) 我们可以使用上面这个函数来获取某个obj父类的子类个数 比如可以这样操作: uint32_ti;for(i=0;i<lv_obj_get_child_count(parent);i++){lv_obj_t*child=lv_obj_get_child(parent,i);/*Do something with child*/} ...
Introduce the problem As implemented, lv_obj.c::lv_obj_get_child_by_id() assumes a Widget's id field is guaranteed to have a unique value because lv_obj_id_compare(id1, id2) (which it uses to detect a match) only accepts 2 ID values and ...
lv_obj_t * label = lv_obj_get_child(btn, 0);lv_label_set_text_fmt(label, "Button:#ff...