每一个创建的对象都有一些默认信号,文章最下面有,这些信号是由库自动产生并检测的。当然也可以手动发送这些信号,使用
lv_event_send(obj, LV_EVENT_VALUE_CHANGED, NULL);
连接信号与槽使用这个
lv_obj_add_event_cb(btn1, event_handler, LV_EVENT_ALL, NULL);
槽函数的书写一般用
static void event_handler(lv_event_t * e)
static void event_handler(lv_event_t * e)
{
lv_event_code_t code = lv_event_get_code(e);
if(code == LV_EVENT_CLICKED) {
LV_LOG_USER("Clicked");
}
else if(code == LV_EVENT_VALUE_CHANGED) {
LV_LOG_USER("Toggled");
}
}
设置或清除这些信号使用
lv_obj_add/clear_state(obj, LV_STATE_...)
E.g. lv_obj_add_state(obj, part, LV_STATE_PRESSED | LV_PRESSED_CHECKED).
对象默认包含的状态
• LV_STATE_DEFAULT Normal, released state
• LV_STATE_CHECKED Toggled or checked state
• LV_STATE_FOCUSED Focused via keypad or encoder or clicked via touchpad/mouse
• LV_STATE_FOCUS_KEY Focused via keypad or encoder but not via touchpad/mouse
• LV_STATE_EDITED Edit by an encoder
• LV_STATE_HOVERED Hovered by mouse (not supported now)
• LV_STATE_PRESSED Being pressed
• LV_STATE_SCROLLED Being scrolled
• LV_STATE_DISABLED Disabled state
• LV_STATE_USER_1 Custom state
• LV_STATE_USER_3 Custom state
• LV_STATE_USER_4 Custom state