lv_obj_set_user_data(win1, (void *) WIN_ID_W1); 以上代码将创建两个窗口W1和W2,并通过lv_obj_set_user_data将ID和跳转目标进行注册。 3. 组件C1的点击事件中,调用lv_win_get_user_data获取W1的引用,然后通过lv_obj_get_user_data获取W2的ID。最后调用lv_obj_move_foreground跳转到W2。 void C1_...
参照父对象对齐:lv_obj_set_align(obj, LV_ALIGN_...);参照父对象对齐后再设置坐标位置:lv_obj_align(obj, LV_ALIGN_...,x,y);参照另一个对象(无父子关系)对齐后设置坐标位置:lv_obj_align_to(obj_to_align,obj_referece, LV_ALIGN_...,x,y) 4.4.1 对齐类型(LV_ALIGN_...) 五、基础对象的...
必须创建一个对象组:lv_group_t * g = lv_group_create() 并且对象必须使用 lv_group_add_obj(g, obj) 添加到其中。 创建的组必须分配给输入设备:lv_indev_set_group(my_indev, g)(my_indev 是 lv_indev_drv_register 的返回值)。 复制 voidencoder_read(lv_indev_drv_t*drv,lv_indev_data_t*dat...
首先,我们定义了一个事件处理回调函数lv_sys_add_device_event_cb,它负责为系统设置菜单按钮添加事件处理功能。该函数使用lv_obj_add_event_cb函数将事件处理器lv_sys_add_device_event_handler与所有事件关联起来。接下来,我们实现了事件处理函数lv_sys_add_device_event_handler。在这个函数中,我们首先获取事件...
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.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; #ifLV_USE_USER_DATA void*user_data; #endif lv_area_tcoords;
lvgl控件与事件的绑定接口为lv_obj_set_event_cb(btn1, event_handler); 而事件的发送函数为 lv_res_t lv_event_send(lv_obj_t * obj, lv_event_t event, const void * data) { if(obj == NULL) return LV_RES_OK; LV_ASSERT_OBJ(obj, LV_OBJX_NAME); ...
user_data 驱动程序的自定义用户数据。可以在 lv_conf.h 中修改其类型。 anti-aliasing 使用抗锯齿(anti-aliasing)(边缘平滑)。缺省情况下默认为 lv_conf.h 中的 LV_ANTIALIAS 。 rotated 如果 1 交换 hor_res 和 ver_res 。两种情况下 LVGL 的绘制方向相同(从上到下的线条),因此还需要重新配置驱动程序以...
lv_obj_set_style_text_font(label,&font_en_16,LV_STATE_DEFAULT);lv_obj_align(label,LV_ALIGN_CENTER,0,30);lv_obj_set_user_data(g_func_btn[i],(void*)img);if(UI_DEV_INFO==i){ui_dev_ctrl_set_state(i,1);}elseif(UI_DEV_PIC==i){ui_dev_ctrl_set_state(i,1);}lv_obj_add_...
这次的例程是直接定义一个lv_anim_t结构变量,对此结构变量进行操作。 static void anim_x_cb(void * var, int32_t v) { lv_obj_set_x(var, v); } static void sw_event_cb(lv_event_t * e) { lv_obj_t * sw = lv_event_get_target(e); lv_obj_t * label = lv_event_get_user_data...