LVGL部件3

一.加载部件

1.知识概览

在这里插入图片描述

在这里插入图片描述

2.函数接口

1.lv_obj_set_style_arc_color

lv_obj_set_style_arc_color 是 LittlevGL(LVGL)图形库中的一个函数,用于设置对象的圆弧颜色样式。

函数原型为:void lv_obj_set_style_arc_color(lv_obj_t * obj, lv_color_t color)

这个函数的作用是设置指定对象(lv_obj_t 类型)的圆弧(arc)颜色样式。

圆弧颜色样式是指对象中绘制的圆形或弧线的颜色。通过使用 lv_obj_set_style_arc_color
函数,可以更改对象中圆弧的颜色。

参数 color 是一个 lv_color_t 类型的参数,用于指定要设置的圆弧颜色。可以使用 LVGL
提供的颜色宏或自定义颜色来设置圆弧颜色。

通过调整圆弧颜色,可以使对象的外观与应用程序的需求和风格相匹配。

2.lv_spinner_create

lv_spinner_create 是 LittlevGL(LVGL)图形库中的一个函数,用于创建一个旋转进度条(Spinner)对象。

函数原型为:`lv_obj_t * lv_spinner_create(lv_obj_t * parent, const lv_obj_t

  • copy)`。

这个函数用于创建一个新的旋转进度条对象,并通过返回一个 lv_obj_t 类型的指针来引用该对象。

parent 参数是指定父对象的指针,即新创建的旋转进度条对象将作为父对象的子元素显示。如果将其设置为
NULL,则表示将该对象添加到屏幕上。

copy 参数是一个可选参数,可以指定一个现有的旋转进度条对象作为模板来复制创建新对象的属性和样式。

旋转进度条是一种可视化的指示器,用于表示某个任务的进行。它通常由一个中心点和旋转的圆弧组成,动画效果可以通过设置其样式和属性进行自定义。

3.代码实例

void my_lvgl(void)
{
    //创建一个加载部件,旋转一周为1s,设置指示器的长度为60
   lv_obj_t  *spinner = lv_spinner_create(lv_scr_act(),1000,60);
   lv_obj_set_style_arc_color(spinner,lv_color_hex(0x4a9f00),LV_PART_MAIN);       //设置主体圆弧颜色
   lv_obj_set_style_arc_color(spinner,lv_color_hex(0x83bd55),LV_PART_INDICATOR);  //设置指示器圆弧颜色
      lv_obj_set_style_arc_width(spinner,10,LV_PART_MAIN);     //设置主体圆弧宽度
   lv_obj_set_style_arc_width(spinner,25,LV_PART_INDICATOR);     //设置指示器圆弧宽度
}

二.LED部件

1.知识概览

在这里插入图片描述

在这里插入图片描述

2.函数接口

1.lv_obj_add_event_cb

lv_obj_add_event_cb 是 LittlevGL(LVGL)图形库中的一个函数,用于为对象添加事件回调函数。

函数原型为:void lv_obj_add_event_cb(lv_obj_t * obj, lv_event_t event, lv_event_cb_t event_cb, void * user_data)

这个函数用于将一个特定的事件(event 参数)与指定对象(obj 参数)关联,并在事件发生时调用相应的回调函数(event_cb 参数)。

event 参数是要关联的事件,它是 lv_event_t 枚举类型的值之一。常见的事件类型包括 LV_EVENT_CLICKED(点击事件)、LV_EVENT_VALUE_CHANGED(数值变化事件)等。

event_cb 参数是一个回调函数,用于处理对象上对应事件的逻辑。当对象上发生指定的事件时,将调用该回调函数。回调函数的原型通常为 void event_cb(lv_obj_t * obj, lv_event_t event),可以根据需要自定义其实现。

user_data 参数是一个指向用户自定义数据的指针,可以在事件回调函数中使用。

通过使用 lv_obj_add_event_cb 函数,可以为对象添加事件回调函数,以实现对指定事件的处理逻辑。

2.lv_led_toggle

lv_led_toggle 是 LittlevGL(LVGL)图形库中的一个函数,用于切换指示灯(LED)对象的状态。

函数原型为:void lv_led_toggle(lv_obj_t * led)

这个函数用于改变指示灯对象的状态,即在“开”和“关”状态之间进行切换。

led 参数是一个指向指示灯对象的指针(lv_obj_t 类型),表示要切换状态的指示灯。

指示灯对象通常是简单的图形元素,用于表示设备或系统的运行状态。它可以在打开状态和关闭状态之间切换,从而提供可视化的反馈。

使用 lv_led_toggle 函数可以方便地切换指示灯对象的状态。

3.代码示例

static void event_led(lv_event_t *e)
{
    lv_obj_t *led  = lv_event_get_target(e);   //获取触发源
    lv_led_toggle(led);  //反转
}

void my_lvgl(void)
{
   lv_obj_t  *led = lv_led_create(lv_scr_act()); //创建一个LED部件
   lv_obj_set_size(led,100,100);                  //设置大小
   lv_obj_center(led);   //设置中心对齐(快速)
   //lv_led_set_color(led,lv_color_hex(0xff0000));   //设置LED部件颜色
   lv_led_set_brightness(led,155);   //设置LED亮度

   lv_led_on(led);    //255
   lv_led_off(led);   //0
   lv_led_toggle(led);  //反转
   lv_obj_add_event_cb(led,event_led,LV_EVENT_CLICKED,NULL);   //点击产生事件
}
  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

左手的月光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值