lvgl学习复选框部件和进度条部件(基于正点原子)

news/2024/11/26 9:41:12/

复选框部件(lv_checkbox)

        复选框部件常用于选择某个内容的开启和关闭,可以理解为自带标签的开关。

复选框部件组成部分:

主体(LV_PART_MAIN)

勾选框(LV PART INDICATOR)

知识点1:创建复选框部件

lv_obj_t   *checkbox  = lv_checkbox_create (parent );

知识点2:文本设置

lv_checkbox_set_text( checkbox, "remember the password" );            /* 设置文本内容 */ lv_obj_set_style_pad_column( checkbox, 20, LV_STATE_DEFAULT );         /* 设置文本和勾选框的间距 */

知识点3:添加、清除复选框状态

lv_obj_add_state(checkbox, LV_STATE_CHECKED | LV_STATE_DISABLED);    /* 添加状态:默认选中且不可修改 */

lv_obj_clear_state(checkbox, LV_STATE_CHECKED | LV_STATE_DISABLED);    /* 清除复选框的状态 */    

知识点4:获取(判断)复选框状态

lv_obj_has_state(checkbox, LV_STATE_CHECKED);                     /* 返回值:1,选中; 0,非选中 */

进度条部件(lv_bar)

        进度条部件常用于显示当前任务的完成进度。

进度条部件组成部分:

        主体(LV_PART_MAIN)

        指示器(LV_PART_INDICATOR)

知识点1:创建进度条部件

lv_obj_t   *bar  = lv_bar_create ( parent );

知识点2:设置大小、当前值、范围值

lv_obj_set_size( bar, 400, 20 );                            /* 设置大小 */

lv_bar_set_value( bar, 50, LV_ANIM_ON );                    /* 设置当前值 */

lv_bar_set_range( bar, -100, 100 );                        /* 设置范围值 */

知识点3:设置动画时间

lv_obj_set_style_anim_time( bar, 500, LV_STATE_DEFAULT );        /* 动画设置必须放在当前值设置之前 */

拓展知识点:设置模式、起始值

lv_bar_set_mode( bar, LV_BAR_MODE_RANGE );            /* 设置模式 */

lv_bar_set_start_value( bar, -50, LV_ANIM_OFF );            /* 设置起始值 */

enum {LV_BAR_MODE_NORMAL,			/* 默认模式 */LV_BAR_MODE_SYMMETRICAL,		/* 从零值绘制到当前值(当前值可以小于0) */LV_BAR_MODE_RANGE			/* 允许设置起始值,但起始值必须小于当前值 */
};

注意:在V8.2版本的LVGL中,默认模式也允许设置起始值,但是后续的版本可能会修改。

还有要注意的是:

        设置进度条的范围值还有设置动画时间必须要放在当前值设置之前,不然会出错。

        当进度条高度大于宽度时,其方向变为垂直。

        动画时间指的是旧值刷新到新值的绘图时间,并不是现实中当前值变化所需的时间。


http://www.ppmy.cn/news/1550023.html

相关文章

lambda的作用

lambda 的定义 lambda 是 Python 中用于创建匿名函数的关键字。匿名函数是一种没有名字的函数,通常用来定义简单的、一次性的函数。 lambda 的语法 lambda 参数列表: 表达式 参数列表: 函数的输入,可以有多个,用逗号分隔。表达式: 函数的…

前端高能组件库 Shadcn-UI

你是不是用 element-ui 或者 ant-design ,然后,开发时常常遇到需要匹配设计稿时调样式的痛苦。 Shadcn-UI 结合tailwindcss ,即可与让你享受组件同时随意的设置样式。 支持 VUE 官方地址:shadcn/ui 项目地址:https:…

极客时间《Redis核心技术与实战》开篇词 知识点总结

Redis 主要的数据持久化方式 RDB(Redis Database Backup file) RDB 是 Redis 提供的一种数据快照持久化方式,它会在指定的时间间隔内生成数据集的时间点快照,并将这些快照保存到磁盘上的一个 RDB 文件中。RDB 文件是一个压缩的二…

Docker 配置 HTTP 和 HTTPS 网络代理

前言 在内网环境中,为了实现全局代理上网,Linux 系统通常通过修改 .bashrc 或 /etc/profile 等文件,设置 HTTP 和 HTTPS 代理。这种方式可以为大多数应用提供代理支持,但 Docker 并不会自动读取系统的环境变量,因此需…

谷粒商城-消息队列Rabbitmq

RabbitMq参考文档 在谷粒商城项目中使用消息队列主要有以下几个重要原因: 异步处理提高性能 场景示例:在订单系统中,当用户提交订单后,系统需要完成多个操作,如更新库存、生成订单记录、发送订单通知等。如果这些操作…

动态规划 详解

动态规划(Dynamic Programming, DP)详解 动态规划是一种通过分解问题为子问题并利用子问题的解来解决原问题的算法设计方法。它通常用于解决具有 重叠子问题 和 最优子结构 性质的问题。 1. 动态规划的核心思想 1.1 重叠子问题 问题可以分解为多个子问…

【C语言】野指针问题详解及防范方法

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C语言 文章目录 💯前言💯什么是野指针?💯未初始化的指针代码示例问题分析解决方法 💯指针越界访问代码示例问题分析解决方法 💯指向已释放内存的…

navicat密码解密python

其他资料都是用php写的,但是运行起来好像有点问题,提供python代码,首先注册表获取加密后的密码,然后运行下述代码解密。 参考:获取navicat密码 import hashlib from Crypto.Cipher import AES, Blowfish from Crypto.…