Featured image of post LVGL Base object

LVGL Base object

Base object (lv_obj)

概述

  • coordinates 坐标
  • parent object 父对象
  • children 子对象
  • contains the styles 风格
  • attributes like Clickable, Scrollable, etc. 属性

Coordinates

更详细的页面 Coordinates


Size

1
2
3
词汇
    modified 			修改
    individual			个体的,单个的
1
2
3
4
函数
    lv_obj_set_width(obj, new_width)
    lv_obj_set_height(obj, new_height)
    lv_obj_set_size(obj, new_width, new_height)

Position

1
2
3
4
函数
    lv_obj_set_x(obj, new_x)
    lv_obj_set_y(obj, new_y)
    lv_obj_set_pos(obj, new_x, new_y)

Alignment

对齐类型

image-20260325161802445
1
2
3
4
5
6
7
8
9
函数
    lv_obj_set_align(obj, LV_ALIGN_...)					把控件对齐到父容器的指定位置
    lv_obj_set_pos(obj, x, y)							对齐后可以设置物体相对坐标,就是偏移多少
    上面俩个一起使用等价于
    lv_obj_align(obj, LV_ALIGN_CENTER, 10, 20);

	将一个对象对齐到另一个对象
    lv_obj_align_to(obj_to_align, obj_referece, LV_ALIGN_..., x, y)
    要将文本对齐到图像下方:	lv_obj_align_to(text, image, LV_ALIGN_OUT_BOTTOM_MID, 0, 10)

Parents and children

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
函数
    lv_obj_set_parent(obj, new_parent)					设置新的父对象
    lv_obj_get_parent(obj)								获取父对象
    
    lv_obj_get_child(parent, idx)						获取父母特定的子对象
    0 1 ... -1											第一个	第二个...最后一个
    
    lv_obj_get_index(obj)								返回该对象在其父对象下的ID
    lv_obj_move_to_index(obj, index)					可以改变在父对象中的ID
    lv_obj_swap(obj1, obj2)								交换两个对象的位置

Display and Screens

1
2
3
4
5
6
函数
    lv_obj_t * screen = lv_obj_create(NULL)
    lv_scr_load(screen)
    lv_scr_act()										
    lv_disp_set_default()								设置默认显示屏
    lv_obj_get_screen(obj)								获取对象在哪个屏
1
2
3
词汇
    multiple											多个的
    manually											手动的

Events

1
2
3
函数
    lv_obj_add_event_cb(obj, event_cb, LV_EVENT_..., user_data)	给对象设置回调函数
    lv_event_send(obj, LV_EVENT_..., param)						手动触发回调函数

更多详细内容: Event overview

Styles

Style overview

1
2
函数
    lv_obj_add_style(obj, &new_style, selector)				给指定对象的指定部分添加样式
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
selector
    LV_PART_MAIN        // 主体(最常用)
    LV_PART_SCROLLBAR   // 滚动条
    LV_PART_INDICATOR   // 指示器(滑块、开关)

    LV_STATE_DEFAULT    // 默认状态
    LV_STATE_PRESSED    // 按下
    LV_STATE_FOCUSED    // 聚焦
    LV_STATE_DISABLED   // 禁用
组合
    LV_PART_MAIN | LV_STATE_DEFAULT   // 默认主体
	LV_PART_MAIN | LV_STATE_PRESSED   // 按下时的主体

Flags

1
2
函数
    lv_obj_add/clear_flag(obj, LV_OBJ_FLAG_...)					给对象开启或者开启属性开关

Groups

Input devices overview

1
2
3
4
函数
    lv_group_add_obj(group, obj)						将对象添加到组中
    lv_obj_get_group(obj)								获取对象所在的组
    lv_obj_is_focused(obj)								对象是否处于聚焦状态

Extended click area

1
2
函数
	lv_obj_set_ext_click_area(obj, size)				扩展点击区域
最后更新于 2026-03-26 23:00