当前位置: 首页 > news >正文

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,不是返回0if(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);    //定时器}

相关文章:

  • Git安装,Git镜像,Git已安装但无法使用解决经验
  • 万户 ezOFFICE DocumentEdit_unite.jsp SQL注入漏洞复现
  • 酒鬼酒2024年展望:稳发展动能,迈入恢复性增长轨道
  • 箱形图之美:Pyecharts库的高级参数解析与炫酷样式实践
  • MySQL行格式原理深度解析
  • SouthLeetCode-打卡24年01月第2周
  • ChatGPT升级界面支持中文
  • 一文速学-selenium高阶操作连接已存在浏览器
  • el-tree 组件 只搜索到第二级时默认展示第二级所有选项
  • Git学习笔记(第10章):自建代码托管中心GitLab
  • 使用CUDA过程中出现异常
  • 机电制造ERP软件有哪些品牌?哪家的机电制造ERP系统比较好
  • Vulnhub-DerpNStink
  • iOS 17.4 苹果公司正在加倍投入人工智能
  • 研发日记,Matlab/Simulink避坑指南(五)——CAN解包 DLC Bug
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • AHK 中 = 和 == 等比较运算符的用法
  • C++11: atomic 头文件
  • docker容器内的网络抓包
  • exports和module.exports
  • flutter的key在widget list的作用以及必要性
  • maven工程打包jar以及java jar命令的classpath使用
  • node学习系列之简单文件上传
  • PV统计优化设计
  • python学习笔记 - ThreadLocal
  • Python学习笔记 字符串拼接
  • vagrant 添加本地 box 安装 laravel homestead
  • 测试开发系类之接口自动化测试
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 将 Measurements 和 Units 应用到物理学
  • 使用 QuickBI 搭建酷炫可视化分析
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 微服务入门【系列视频课程】
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 阿里云API、SDK和CLI应用实践方案
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • # Java NIO(一)FileChannel
  • ###STL(标准模板库)
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (35)远程识别(又称无人机识别)(二)
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (SpringBoot)第二章:Spring创建和使用
  • (论文阅读40-45)图像描述1
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (转)winform之ListView
  • (转载)利用webkit抓取动态网页和链接
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • .NET C# 使用GDAL读取FileGDB要素类
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .net core 使用js,.net core 使用javascript,在.net core项目中怎么使用javascript
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?