lv_obj_del(lv_obj_t*obj);// 立即删除一个对象,并该对象的子类一起删除lv_obj_del_async(lv_obj_t*obj);// 下一次执行 lv_timer_handler 后删除对象lv_obj_clean(lv_obj_t*obj);// 立刻删除一个对象的全部子类lv_obj_del_delayed(lv_obj_t*obj,uint32_tdelay_ms);// 延时 delay_ms 毫秒再...
lv_coord_t ext_click_pad成员表示控件的点击扩展板,因为有时候点击的位置可能在控件的边缘而不起作用,那么通过扩展点击的有效区域就可以解决这个问题,也就是往四周延伸一些有效距离,比如函数lv_obj_get_click_area就是通过控件的区域coords扩展ext_click_pad来实现的。 voidlv_obj_get_click_area(const lv_obj_...
由于lvgl使用c语言编写,因此lv_obj_t 只能通过结构体来表示,它并不是一个实例化后的类,因此我们需要先实例化出一个父类(lv_obj即基础对象)(基类),其他所有的部件(对象)都继承自这个父类(基类)。 具体逻辑关系如下图: 二、基础对象(lv_obj) 屏幕是没有父类的基础对象 2.1 屏幕对象的创建过程 highlighter- ...
voidmy_gui(void){lv_obj_t*parent = lv_obj_create(lv_scr_act());/* 创建父对象,默认大小 */lv_obj_set_size(parent,400,240);/* 设置父对象的大小 */lv_obj_t* child = lv_obj_create(parent);/* 在先前创建的父对象上创建一个子对象 */lv_obj_set_pos(child,50,10);/* 设置子对象的...
lv_obj_center(SETTINGS_TXT); lv_obj_t * MUSIC = lv_btn_create(contanier2); lv_obj_add_event_cb(MUSIC, MUSIC_event_handler, LV_EVENT_CLICKED, NULL); lv_obj_set_pos(MUSIC,125,20); lv_obj_set_size(MUSIC, 80, 80); lv_obj_t * MUSIC_TXT = lv_label_create(MUSIC); lv_label_...
lv_obj_t类定义在文件lvgl\src\core\lv_obj.h文件中,定义如下: typedefstruct_lv_obj_t{ constlv_obj_class_t*class_p; struct_lv_obj_t*parent; _lv_obj_spec_attr_t*spec_attr; _lv_obj_style_t*styles; #if LV_USE_USER_DATA ...
lv_obj_t*appWindow=AppWindow_GetCont(PAGE_DialPlate); 创建一个组件接收函数返回的容器指针即可,后续我就可以按照接收的容器为父类,创建子类,比如: voidImgBg_Create(){LV_IMG_DECLARE(ImgBg);imgBg=lv_img_create(appWindow);lv_img_set_src(imgBg,&ImgBg);lv_obj_align(imgBg,LV_ALIGN_CENTER,0,...
一、首先创建需要响应的OBJ 以lvgl开关obj为例 lv_obj_t* sw; sw =lv_switch_create(lv_scr_act()); 二、给其添加事件 首先定义回调函数 static void event_handler(lv_event_t * e) {lv_event_code_tcode = lv_event_get_code(e); lv_obj_t * obj = lv_event_get_target(e); ...
lv_layer_sys() ■ LVGL-基础对象(lv_obj_t)就是一个矩形 LVGL (6) 基础对象 Obj 分析 示例一: 在这里插入代码片 ■ LVGL-(lv_obj_t)基本属性 ■ LVGL-(lv_obj_t)大小 //大小 lv_obj_set_width(obj, 200); lv_obj_set_width(btn, lv_pct(50)) //lv_pct(value) 将值转换为百分比 lv_...
lv_obj_t *btn ; lv_obj_t *label; static void event_handler(lv_event_t * e) { static uint8_t status = 0 ; lv_event_code_t code = lv_event_get_code(e); if(code == LV_EVENT_CLICKED) { switch(status) { case0: lv_label_...