lvgl之信号与处理

每一个创建的对象都有一些默认信号,文章最下面有,这些信号是由库自动产生并检测的。当然也可以手动发送这些信号,使用

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值