找回密码
 立即注册
首页 业界区 科技 LVGL-基本组件

LVGL-基本组件

晖顶蝇 2025-6-20 21:04:54
lv_init

此函数用于初始化LVGL
  1. void lv_init(void)
复制代码
lv_deinit

恢复缺省配置
  1. void lv_deinit(void)
复制代码
lv_is_initialized

用于检查LVGL是否初始化
  1. bool lv_is_initialized(void)
  2. //ret:初始化返回true,未初始化返回false
复制代码
lv_obj_create

此函数用于创建基本的对象
  1. lv_obj_t *lv_obj_create(lv_obj_t *parent)
  2. //parent:创建对象的父对象
  3. //返回创建对象的句柄
复制代码
lv_obj_add_flag

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

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

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

用于移除对象的某个或某些状态
  1. void lv_obj_clear_state(lv_obj_t * obj, lv_state_t state);
  2. //obj:指向要操作的对象的指针
  3. //state:要移除的状态
  4. /*
  5. LV_STATE_DEFAULT:默认状态。
  6. LV_STATE_FOCUSED:对象获得焦点时的状态。
  7. LV_STATE_PRESSED:对象被按下时的状态。
  8. LV_STATE_CHECKED:对象被选中时的状态(例如复选框)。
  9. LV_STATE_DISABLED:对象被禁用时的状态。
  10. LV_STATE_HOVERED:对象被鼠标悬停时的状态。
  11. LV_STATE_FOCUSED_KEY:通过键盘获得焦点时的状态。
  12. LV_STATE_FOCUSED_TAB:通过 Tab 键获得焦点时的状态。
  13. LV_STATE_GROUP_FOCUSED:对象获得组焦点时的状态。
  14. LV_STATE_EDITED:对象被编辑时的状态。
  15. */
复制代码
lv_obj_set_user_data

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

用于检查对象是否具有某个标志
  1. bool lv_obj_has_flag(const lv_obj_t * obj, lv_obj_flag_t flag);
  2. //obj:指向要检查的对象的指针
  3. //flag:要检查的标志
  4. //ret:如果对象具有指定的标志,则返回 true,如果对象不具有指定的标志,则返回 false
  5. /*
  6. LV_OBJ_FLAG_CLICKABLE:对象是否可点击。
  7. LV_OBJ_FLAG_HIDDEN:对象是否隐藏。
  8. LV_OBJ_FLAG_SCROLLABLE:对象是否可滚动。
  9. LV_OBJ_FLAG_SCROLL_ON_FOCUS:对象在获得焦点时是否滚动。
  10. LV_OBJ_FLAG_EVENT_BUBBLE:事件是否冒泡到父对象。
  11. LV_OBJ_FLAG_GESTURE_BUBBLE:手势事件是否冒泡到父对象。
  12. LV_OBJ_FLAG_FLOATING:对象是否浮动(不占据布局空间)。
  13. LV_OBJ_FLAG_IGNORE_LAYOUT:对象是否忽略布局更新。
  14. LV_OBJ_FLAG_ADV_HITTEST:对象是否启用高级命中测试。
  15. */
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册