lvgl(LVGL)的代码学习及分析

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

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

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值