https://blog.youkuaiyun.com/helloworld_123xiong/article/details/122250205?spm=1001.2014.3001.5502
在上面文章中详细介绍了如何使用VS去运行LVGL,下面我们对其代码进行简单分析。
1 主函数
打开.cpp文件

发现里面运行的函数只有一个,lv_demo_widgets(),接下来打开该函数

2 打开lv_demo_widgets()函数,最主要的函数就是末尾的几个函数
profile_create(t1);
analytics_create(t2);
shop_create(t3);
color_changer_create(tv);
根据运行出来的结果可知,前三个函数分别对应了第一,第二和第三个界面。我们可以对其记性验证,只留下第一个函数 profile_create(t1);其他的都先注释掉。另外把
static void analytics_create(lv_obj_t* parent)
void shop_create(lv_obj_t * parent)
static void color_changer_create(lv_obj_t * parent)
static void color_changer_anim_cb(void * var, int32_t v)
static void color_changer_event_cb(lv_event_t *e)
static void color_event_cb(lv_event_t * e)
static lv_obj_t * create_meter_box(lv_obj_t * parent, const char * title, const char * text1, const char * text2, const char * text3)
static lv_obj_t * create_shop_item(lv_obj_t * parent, const void * img_src, const char * name, const char * category, const char * price)
static void shop_chart_event_cb(lv_event_t * e)
static void meter1_indic1_anim_cb(void * var, int32_t v)
static void meter1_indic2_anim_cb(void * var, int32_t v)
static void meter1_indic3_anim_cb(void * var, int32_t v)
static void meter2_timer_cb(lv_timer_t * timer)
static void meter3_timer_cb(lv_timer_t * timer)
这些函数全部删除并注释掉相关的函数声明,如下图

最终保留的函数如下图

3 再次运行程序,第二个和第三个界面中的内容已经没有了。可以开始精读其中的程序,并且可以按照自己的想法添加控件,实现功能。




本文通过Visual Studio运行LVGL,详细分析了lv_demo_widgets()函数,重点关注profile_create()函数,并逐步移除和注释其他界面相关函数,如analytics_create()、shop_create()等,以简化代码并为自定义功能做准备。
1万+

被折叠的 条评论
为什么被折叠?



