lv_obj_add_event_cb(lv_obj_t* obj,lv_event_cb_tevent_cb,lv_event_code_tfilter,void* user_data); 任意可交互控件都可以使用该函数添加回调函数。这里不用管该函数的返回值。event_cb是事件的回调函数,filter决定按钮会对哪些事件作出响应,可以在user_data传入一些自定义的数据。 检查类型lv_event_cb_...
lv_event_code_tcode =lv_event_get_code(e);// 获取当前部件(对象)触发的事件代码 lv_obj_t* label =lv_event_get_user_data(e);// 读取到标签对象 switch(code) { caseLV_EVENT_PRESSED:// 按下 lv_label_set_text(label,"The last button event:\nLV_EVENT_PRESSED"); break; caseLV_EVENT_...
lv_obj_t * obj = lv_event_get_target(e); if(code == LV_EVENT_VALUE_CHANGED) //当值切换时执行如下操作 { LV_LOG_USER("State: %s\n", lv_obj_has_state(obj, LV_STATE_CHECKED) ? "On" : "Off"); } } 然后给OBJ添加该回调函数即可 lv_obj_add_event_cb(sw, event_handler, LV_E...
3、事件类型(event_code)[源码:lvgl/src/core/lv_event.h (lv_event_code_t) 4、事件回调函数的 lv_event_t 参数 5、事件冒泡 一、对象(lv_obj_t) LVGL采用面向对象的编程思想(OOP),她的基本构造块(类)是对象(实例),也就是我们所说的部件(Widgets)就是一个个部件,比如button、label、image等等 lv_o...
1.LV_EVENT_GESTURE事件的回调函数 这个lvgl的事件好像没什么可说的,直接上源码: static void albumpage_gesture_cb(lv_event_t * e) { lv_event_code_t event = lv_event_get_code(e); if(event == LV_EVENT_GESTURE) { // 等待触屏释放 ...
初始化显示器和创建用于绘图的缓冲区 lv_port_disp_init(); //找到 LittelvGL 支持的输入设备 lv_...
LV_EVENT_COVER_CHECK,/**< Check if the object fully covers an area. The event parameter is `lv_cover_check_info_t *`.*/ LV_EVENT_REFR_EXT_DRAW_SIZE,/**< Get the required extra draw area around the object (e.g. for shadow). The event parameter is `lv_coord_t *` to store ...
lv_event_code_t code = lv_event_get_code(e); lv_obj_t *btn = lv_event_get_target(e); lv_obj_t *dd = lv_event_get_user_data(e); if(code == LV_EVENT_VALUE_CHANGED) { // 由于 btn 在初始化时已经设置了 LV_OBJ_FLAG_CHECKABLE ...
lv_event_code_t code = lv_event_get_code(e); lv_obj_t * obj = lv_event_get_target(e); if(code == LV_EVENT_VALUE_CHANGED) { char buf[32]; lv_dropdown_get_selected_str(obj, buf, sizeof(buf)); LV_LOG_USER("Option: %s", buf); ...
lv_timer_handler(); /* let the GUI do its work */ vTaskDelay(10); } } 当数据堆有数据,心跳会使LVGL按照堆中数据调用多次屏幕填充函数来刷新屏幕,这个函数以及屏幕的尺寸需要使用者提供给LVGL static lv_disp_drv_t disp_drv; lv_disp_drv_init( &disp_drv ); ...