LVGL 获得发生事件的对象
时间: 2023-12-07 16:04:09 浏览: 229
在 LVGL 中,可以通过使用 `lv_event_get_target()` 函数来获取发生事件的对象。该函数需要传入事件的指针作为参数,返回事件的目标对象。例如,在以下代码片段中,当 `LV_EVENT_CLICKED` 事件发生时,将调用 `btn_click_event_cb` 函数,并通过 `lv_event_get_target()` 函数获取事件的目标对象:
```c
static void btn_click_event_cb(lv_obj_t * btn, lv_event_t event)
{
if(event == LV_EVENT_CLICKED) {
lv_obj_t * target_obj = lv_event_get_target(); // 获取发生事件的对象
// 其他操作...
}
}
lv_obj_t * btn = lv_btn_create(lv_scr_act(), NULL);
lv_obj_set_event_cb(btn, btn_click_event_cb);
```
在这个例子中,`btn_click_event_cb` 函数会通过 `lv_obj_set_event_cb()` 函数设置为按钮对象的事件处理函数。当按钮被点击时,`btn_click_event_cb` 函数会被调用,并且通过 `lv_event_get_target()` 函数获取事件的目标对象,即按钮对象。
阅读全文