1编写流程
1-1创建屏幕对象
1-2创建按钮对象并将屏幕对象给按钮
1-3创建一个文本对象,并将按钮对象给文本
1-4设置文本
1-5为按钮添加事件
2源码
//按键回调函数
void event_handler(lv_event_t* event){int code = lv_event_get_code(event);//获取事件类型的代码lv_obj_t* obj=lv_event_get_target(event);//获取事件的对象的地址//lv_obj_t* data=lv_event_get_user_data(event);//获取传输的数据printf("target:%p \n",obj);if(code == LV_EVENT_CLICKED){//判断是否是点击事件printf("110\r\n");}
}
//实现按键
void demo_button(){lv_obj_t* screen=lv_scr_act();//创建按钮对象lv_obj_t* button=lv_btn_create(screen);//为按键添加一个文本lv_obj_t* label=lv_label_create(button);//创建一个文本对象并将按键对象添加进去lv_label_set_text(label,"Hello");//添加一个文本//居中lv_obj_center(button);//给按钮添加点击事件//1,按钮控件名 2,回调函数 3,监听什么事件 4,传入什么数据lv_obj_add_event_cb(button,event_handler,LV_EVENT_CLICKED,NULL);printf("dui_xiang_di_zi %p",button);//打印地址//%p 是格式化输出宏,用于打印指针的值。
}
3重点的详细资料
-
int code = lv_event_get_code(event);
这行代码用于获取事件代码,它表示发生了什么类型的事件。
lv_event_get_code
是LVGL的一个函数,它接受一个lv_event_t
类型的参数event
,并返回一个整数值,这个整数值对应于事件的类型。event
:这是一个指向lv_event_t
结构体的指针,它包含了事件的所有相关信息。code
:这是一个整数变量,用于存储事件代码。常见的事件代码包括:LV_EVENT_PRESSED
:当对象被按下时。LV_EVENT_CLICKED
:当对象被点击(按下并释放)时。LV_EVENT_RELEASED
:当对象被释放时。LV_EVENT_LONG_PRESSED
:当对象被长按时。- 等等。
通过检查
code
的值,你可以确定应该对事件做出什么样的响应。