LVGL-基本组件

lv_obj_set_parent函数

用于将一个对象重新附加到另一个父对象,LVGL 会将 obj 从其当前父对象中移除,并将其附加到新的父对象 parent

void lv_obj_set_parent(lv_obj_t * obj, lv_obj_t * parent);
//obj:指向 lv_obj_t 类型的指针,表示要移动的对象
//parent:指向 lv_obj_t 类型的指针,表示新的父对象

lv_obj_get_parent

用于获取对象的当前父对象

lv_obj_t * lv_obj_get_parent(const lv_obj_t * obj);
//obj:指向 lv_obj_t 类型的指针,表示要查询的对象。
//ret:返回一个指向 lv_obj_t 类型的指针,表示对象的当前父对象

lv_obj_get_child函数

用于获取对象的子对象

lv_obj_t * lv_obj_get_child(const lv_obj_t * obj, uint32_t index);
//obj:指向 lv_obj_t 类型的指针,表示要查询的父对象。
//index:子对象的索引,从 0 开始。例如,0 表示第一个子对象,-1表示最后创建的子对象
//ret:返回一个指向 lv_obj_t 类型的指针,表示指定索引处的子对象。如果索引超出范围,则返回 NULL

lv_obj_get_index函数

用于获取子对象在其父对象中的索引

uint32_t lv_obj_get_index(const lv_obj_t * obj);
//obj:指向 lv_obj_t 类型的指针,表示要查询索引的子对象

lv_obj_move_foreground函数

用于将一个对象移动到其父对象的最上层(前景)

void lv_obj_move_foreground(lv_obj_t * obj);
//obj:指向 lv_obj_t 类型的指针,表示要移动到前景的对象。

lv_obj_move_background函数

用于将一个对象移动到其父对象的最下层(背景)

void lv_obj_move_background(lv_obj_t * obj);
//obj:指向 lv_obj_t 类型的指针,表示要移动到背景的对象。

lv_obj_move_to_index函数

用于将一个对象移动到其父对象中的指定索引位置

void lv_obj_move_to_index(lv_obj_t * obj, uint32_t index);
//obj:指向 lv_obj_t 类型的指针,表示要移动的对象
//index:目标索引位置,从 0 开始。例如,0 表示第一个子对象

lv_obj_swap函数

用于交换两个对象在其父对象中的位置

void lv_obj_swap(lv_obj_t * obj1, lv_obj_t * obj2);
//obj1:指向 lv_obj_t 类型的指针,表示第一个对象
//obj2:指向 lv_obj_t 类型的指针,表示第二个对象

lv_disp_set_default函数

用于设置默认显示设备

void lv_disp_set_default(lv_disp_t * disp);
//disp:指向 lv_disp_t 类型的指针,表示要设置为默认的显示设备

lv_obj_get_screen函数

用于获取对象所在的屏幕

lv_obj_t * lv_obj_get_screen(const lv_obj_t * obj);
//obj:指向 lv_obj_t 类型的指针,表示要查询的对象
//ret:返回一个指向 lv_obj_t 类型的指针,表示对象所在的屏幕。如果对象不在任何屏幕中,则返回 NULL。

lv_obj_add_event_cb函数

用于为对象添加事件回调函数

void lv_obj_add_event_cb(lv_obj_t * obj, lv_event_cb_t event_cb, lv_event_code_t filter, void * user_data);
//obj:指向 lv_obj_t 类型的指针,表示要添加事件回调的对象。
//event_cb:事件回调函数的指针。当指定的事件发生时,将调用此函数
//filter:事件过滤器,指定要处理的事件类型。可以是 LV_EVENT_ANY(处理所有事件)或特定的事件代码(如 LV_EVENT_CLICKED、LV_EVENT_PRESS 等)
//user_data:用户数据指针,可以在回调函数中使用。这个指针可以指向任何你希望在回调函数中访问的数据。

lv_event_send函数

用于手动向对象发送事件

void lv_event_send(lv_obj_t * obj, lv_event_code_t code, void * param);
//obj:指向 lv_obj_t 类型的指针,表示要发送事件的对象
//code:事件代码,指定要发送的事件类型(如 LV_EVENT_CLICKED、LV_EVENT_VALUE_CHANGED 等)。
//aram:指向传递给事件回调函数的参数。可以是 NULL 或者任何需要传递的数据

lv_obj_add_flag函数

作对象标志(flags)的函数。标志用于控制对象的行为和属性,例如是否隐藏、是否可点击等。通过设置标志,可以动态改变对象的行为。

void lv_obj_add_flag(lv_obj_t * obj, lv_obj_flag_t flag);
//obj:指向 lv_obj_t 类型的指针,表示要操作的对象。
//flag:要添加的标志,类型为 lv_obj_flag_t

lv_obj_clear_flag函数

作对象标志(flags)的函数。标志用于控制对象的行为和属性,例如是否隐藏、是否可点击等。通过清除标志,可以动态改变对象的行为。

void lv_obj_clear_flag(lv_obj_t * obj, lv_obj_flag_t flag);
//obj:指向 lv_obj_t 类型的指针,表示要操作的对象。
//flag:要清除的标志,类型为 lv_obj_flag_t

lv_group_add_obj函数

用于将一个对象添加到指定的分组

void lv_group_add_obj(lv_group_t * g, lv_obj_t * obj);
//g:指向 lv_group_t 类型的指针,表示要添加对象的分组
//obj:指向 lv_obj_t 类型的指针,表示要添加到分组中的对象

lv_obj_get_group函数

用于获取对象所属的分组

lv_group_t * lv_obj_get_group(const lv_obj_t * obj);
//obj:指向 lv_obj_t 类型的指针,表示要查询的对象
//ret:返回一个指向 lv_group_t 类型的指针,表示对象所属的分组。如果对象不属于任何分组,则返回 NULL。

lv_obj_is_focused函数

用于检查对象是否当前获得焦点

bool lv_obj_is_focused(const lv_obj_t * obj);
//obj:指向 lv_obj_t 类型的指针,表示要检查的对象
//ret:返回一个布尔值,true 表示对象当前获得焦点,false 表示对象未获得焦点

lv_obj_set_ext_click_area函数

设置对象的扩展点击区域

void lv_obj_set_ext_click_area(lv_obj_t * obj, lv_coord_t ext_click_area);
//obj:指向 lv_obj_t 类型的指针,表示要设置扩展点击区域的对象
//ext_click_area:扩展点击区域的大小,单位为像素。这个值表示对象边界之外的点击区域范围。
posted @ 2025-06-04 17:16  LRadian  阅读(223)  评论(0)    收藏  举报