LVGL部件2

一.复选框部件

1.知识汇总

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.函数接口

1.lv_obj_has_state

lv_obj_has_state 是 LittlevGL(LVGL)图形库中的一个函数,用于检查指定对象的状态。这个函数有两个参数:

  1. const lv_obj_t * obj:要检查状态的对象。
  2. uint8_t state:要检查的状态。

状态通过使用位掩码进行表示,其中每个位代表一个具体的状态。使用位操作可以将多个状态进行组合,以便同时检查多个状态。

如果对象处于给定的状态,则函数会返回 true,否则返回 false

此函数的目的是为了在 LVGL 应用程序中检查对象的状态。例如,可以使用它来检查按钮是否处于按下状态,或者检查复选框是否被选中。

lv_checkbox_set_text 是 LittlevGL(LVGL)图形库中的一个函数,用于设置复选框控件的文本。

2.lv_checkbox_set_text

函数原型为:void lv_checkbox_set_text(lv_obj_t * cb, const char * txt)
这个函数的作用是将指定的文本文本(通过const char * txt 参数传入)设置为复选框(lv_obj_t * cb)的文本标签。 在 LVGL 应用程序中,可以使用 lv_checkbox_set_text
函数来设置复选框的文本,以便向用户显示相关的信息或选项。例如,可以将文本设置为“启用”或“禁用”,或者更具体的选项,如“自动模式”或“手动模式”。*

3.案例

lv_obj_t *checkbox;
static void event_cd(lv_event_t* e)
{
    lv_event_code_t code=lv_event_get_code(e);   //获取事件类型
    if(code == LV_EVENT_VALUE_CHANGED)
    {    //判断是否处于被选中状态(LV_STATE_CHECKED被选中),是返回1,不是返回0
        if(lv_obj_has_state(checkbox,LV_STATE_CHECKED))
        {
            printf("ON\n");
        }else
        {
            printf("OFF\n");

        }

    }
}

void my_lvgl(void)
{
    checkbox = lv_checkbox_create(lv_scr_act());   //创建一个复选框部件
    lv_obj_set_align(checkbox,LV_ALIGN_CENTER);              //居中
    lv_checkbox_set_text(checkbox,"wqrtyitreew");            //设置文本
    lv_obj_set_style_pad_column(checkbox,50,LV_STATE_DEFAULT); //设置间距(默认触发)

    lv_obj_add_state(checkbox,LV_STATE_CHECKED|LV_STATE_DISABLED);//添加状态,默认选中且不可修改
    lv_obj_clear_state(checkbox,LV_STATE_CHECKED|LV_STATE_DISABLED);//清除复选框的转态
    lv_obj_add_event_cb(checkbox,event_cd,LV_EVENT_VALUE_CHANGED,NULL);   //状态切换时产生事件

}

二.进度条部件

1.知识汇总

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.函数接口

`
2.函数接口

1.lv_obj_set_style_anim_time

lv_obj_set_style_anim_time 是 LittlevGL(LVGL)图形库中的一个函数,用于设置对象的样式动画时间。

函数原型为:void lv_obj_set_style_anim_time(lv_obj_t * obj, uint16_t anim_time)

这个函数的作用是设置指定对象(lv_obj_t
类型)的样式动画时间。样式动画时间定义了对象从当前样式过渡到新样式所需的时间(以毫秒为单位)。

通过调整样式动画时间,可以控制对象样式的平滑过渡效果。例如,当改变对象的背景颜色或边框样式时,可以使用样式动画时间来指定动画过渡的持续时间。

样式动画时间只适用于那些支持样式过渡动画的对象。不是所有的对象都支持样式动画,因此在使用此函数之前,需要确保所操作的对象支持样式动画。

2.lv_timer_create

lv_timer_create 是 LittlevGL(LVGL)图形库中的一个函数,用于创建一个定时器对象。

函数原型为:lv_timer_t * lv_timer_create(uint32_t period, lv_timer_cb_t timer_cb, void * user_data)

这个函数用于创建一个新的定时器对象,并通过返回一个 lv_timer_t 类型的指针来引用该对象。

period 参数是指定定时器触发的时间间隔,单位是毫秒。当定时器达到指定时间间隔时,将触发 timer_cb 回调函数。可以通过
period 参数来控制定时器的触发频率。

timer_cb 参数是一个回调函数,用于处理定时器触发时的逻辑。在定时器触发时,将调用这个回调函数。

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

使用 lv_timer_create 函数可以创建一个定时器对象,并指定触发时间间隔和回调函数,以便在应用程序中实现定时器相关的功能。

3.代码实例

int val=0;
lv_obj_t *bar;
static void timer_cd(lv_timer_t* timer)
{
    if(val<100)
    {
        ++val;
        lv_bar_set_value(bar,val,LV_ANIM_ON);   //设置当前值,并且开启动画

    }
}

void my_lvgl(void)
{
    bar=lv_bar_create(lv_scr_act());    //创建一个进度条
    lv_obj_set_align(bar,LV_ALIGN_CENTER);         //设置为居中
    lv_obj_set_size(bar,200,20);     //设置大小
    lv_bar_set_range(bar,0,100); //设置范围
    lv_obj_set_style_anim_time(bar,2000,LV_STATE_DEFAULT);//设置动画时间,必须在设置当前值前面,否则无效

    lv_bar_set_value(bar,0,LV_ANIM_ON);   //设置当前值,并且开启动画
    lv_timer_create(timer_cd,100,NULL);    //定时器

 }
  • 16
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

左手的月光

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

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

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

打赏作者

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

抵扣说明:

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

余额充值