晖顶蝇 发表于 2025-6-20 21:04:54

LVGL-基本组件

lv_init

此函数用于初始化LVGL
void lv_init(void)lv_deinit

恢复缺省配置
void lv_deinit(void)lv_is_initialized

用于检查LVGL是否初始化
bool lv_is_initialized(void)
//ret:初始化返回true,未初始化返回falselv_obj_create

此函数用于创建基本的对象
lv_obj_t *lv_obj_create(lv_obj_t *parent)
//parent:创建对象的父对象
//返回创建对象的句柄lv_obj_add_flag

用于给对象添加标志
void lv_obj_add_flag(lv_obj_t * obj, lv_obj_flag_t f);
//obj:指向要操作的对象的指针
//f:要添加的标志(lv_obj_flag_t)。标志是一个枚举值,用于指定对象的行为或状态
/*
LV_OBJ_FLAG_CLICKABLE:使对象可点击。
LV_OBJ_FLAG_HIDDEN:隐藏对象。
LV_OBJ_FLAG_SCROLLABLE:使对象可滚动。
LV_OBJ_FLAG_SCROLL_ON_FOCUS:当对象获得焦点时滚动。
LV_OBJ_FLAG_EVENT_BUBBLE:允许事件冒泡到父对象。
LV_OBJ_FLAG_GESTURE_BUBBLE:允许手势事件冒泡到父对象。
LV_OBJ_FLAG_FLOATING:使对象浮动(不占据布局空间)。
LV_OBJ_FLAG_IGNORE_LAYOUT:忽略布局更新。
LV_OBJ_FLAG_ADV_HITTEST:启用高级命中测试(允许自定义命中区域)
*/lv_obj_clear_flag

用于移除对象的某个标志
void lv_obj_clear_flag(lv_obj_t * obj, lv_obj_flag_t f);
//obj:指向要操作的对象的指针
//f:要移除的标志
/*
LV_OBJ_FLAG_CLICKABLE:使对象可点击。
LV_OBJ_FLAG_HIDDEN:隐藏对象。
LV_OBJ_FLAG_SCROLLABLE:使对象可滚动。
LV_OBJ_FLAG_SCROLL_ON_FOCUS:当对象获得焦点时滚动。
LV_OBJ_FLAG_EVENT_BUBBLE:允许事件冒泡到父对象。
LV_OBJ_FLAG_GESTURE_BUBBLE:允许手势事件冒泡到父对象。
LV_OBJ_FLAG_FLOATING:使对象浮动(不占据布局空间)。
LV_OBJ_FLAG_IGNORE_LAYOUT:忽略布局更新。
LV_OBJ_FLAG_ADV_HITTEST:启用高级命中测试(允许自定义命中区域)
*/lv_obj_add_state

用于给对象添加状态的函数。状态是 LVGL 中用于控制对象外观或行为的属性
void lv_obj_add_state(lv_obj_t * obj, lv_state_t state);
//obj:指向要操作的对象的指针
//state:要添加的状态
/*
LV_STATE_DEFAULT:默认状态。
LV_STATE_FOCUSED:对象获得焦点时的状态。
LV_STATE_FOCUSED_KEY:通过键盘获得焦点时的状态。
LV_STATE_FOCUSED_TAB:通过 Tab 键获得焦点时的状态。
LV_STATE_PRESSED:对象被按下时的状态。
LV_STATE_CHECKED:对象被选中时的状态(例如复选框)。
LV_STATE_DISABLED:对象被禁用时的状态。
LV_STATE_EDITED:对象被编辑时的状态。
LV_STATE_HOVERED:对象被鼠标悬停时的状态。
LV_STATE_GROUP_FOCUSED:对象获得组焦点时的状态。
*/lv_obj_clear_state

用于移除对象的某个或某些状态
void lv_obj_clear_state(lv_obj_t * obj, lv_state_t state);
//obj:指向要操作的对象的指针
//state:要移除的状态
/*
LV_STATE_DEFAULT:默认状态。
LV_STATE_FOCUSED:对象获得焦点时的状态。
LV_STATE_PRESSED:对象被按下时的状态。
LV_STATE_CHECKED:对象被选中时的状态(例如复选框)。
LV_STATE_DISABLED:对象被禁用时的状态。
LV_STATE_HOVERED:对象被鼠标悬停时的状态。
LV_STATE_FOCUSED_KEY:通过键盘获得焦点时的状态。
LV_STATE_FOCUSED_TAB:通过 Tab 键获得焦点时的状态。
LV_STATE_GROUP_FOCUSED:对象获得组焦点时的状态。
LV_STATE_EDITED:对象被编辑时的状态。
*/lv_obj_set_user_data

用于为对象设置用户自定义数据
static inline void lv_obj_set_user_data(lv_obj_t * obj, void * user_data);
//obj:指向要操作的对象的指针
//user_data:指向用户自定义数据的指针lv_obj_has_flag

用于检查对象是否具有某个标志
bool lv_obj_has_flag(const lv_obj_t * obj, lv_obj_flag_t flag);
//obj:指向要检查的对象的指针
//flag:要检查的标志
//ret:如果对象具有指定的标志,则返回 true,如果对象不具有指定的标志,则返回 false
/*
LV_OBJ_FLAG_CLICKABLE:对象是否可点击。
LV_OBJ_FLAG_HIDDEN:对象是否隐藏。
LV_OBJ_FLAG_SCROLLABLE:对象是否可滚动。
LV_OBJ_FLAG_SCROLL_ON_FOCUS:对象在获得焦点时是否滚动。
LV_OBJ_FLAG_EVENT_BUBBLE:事件是否冒泡到父对象。
LV_OBJ_FLAG_GESTURE_BUBBLE:手势事件是否冒泡到父对象。
LV_OBJ_FLAG_FLOATING:对象是否浮动(不占据布局空间)。
LV_OBJ_FLAG_IGNORE_LAYOUT:对象是否忽略布局更新。
LV_OBJ_FLAG_ADV_HITTEST:对象是否启用高级命中测试。
*/
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: LVGL-基本组件