LVGL学习笔记12 - 复选框CheckBox

news2024/11/16 9:35:04

目录

1. Parts

1.1 LV_PART_MAIN

1.2 LV_PART_INDICATOR

2. 状态

3. 样式

3.1 设置字符串颜色

 3.2 设置点击框外框颜色

 3.3 修改点击框弧度

 3.4 修改字符串与点击框的间隔

4. 事件


复选框通过lv_checkbox_create创建。一个CheckBox由一个点击框加一个Label组成。

obj1 = lv_checkbox_create(lv_scr_act());
lv_obj_align(obj1, LV_ALIGN_TOP_LEFT, 10, 10);

注意,CheckBox的size可以不用设置,会自动匹配字符串长度。

字符串可以通过lv_checkbox_set_text和lv_checkbox_set_text_static更改。

1. Parts

1.1 LV_PART_MAIN

对应背景和字符串,可以理解为这部分就是一个Label(功能比较少,比如不支持长字符串卷动)。

背景默认是透明的。

lv_obj_set_style_bg_color(obj1, lv_color_make(252, 144, 181), LV_PART_MAIN);
lv_obj_set_style_bg_opa(obj1, LV_OPA_50, LV_PART_MAIN);

lv_obj_set_style_text_color(obj1, lv_color_make(246, 174, 49), LV_PART_MAIN);

 

1.2 LV_PART_INDICATOR

对应方框。默认情况下,方框的大小和字体大小一致。

lv_obj_set_style_bg_color(obj1, lv_color_make(252, 144, 181), LV_PART_INDICATOR);

2. 状态

复选框的状态包括:Check和Uncheck、Disable和Enable、Focused和Unfocused,通过lv_obj_add_state设置为LV_STATE_CHECKED和/或LV_STATE_DISABLED和/或LV_STATE_FOCUSED,通过lv_obj_clear_state解除对应的状态。

lv_obj_add_state(obj1, LV_STATE_CHECKED);
lv_obj_add_state(obj2, LV_STATE_DISABLED);

3. 样式

3.1 设置字符串颜色

lv_obj_set_style_text_color(obj1, lv_color_hex(0xFF0000), LV_PART_MAIN);

 

 3.2 设置点击框外框颜色

lv_obj_set_style_border_color(obj1, lv_color_make(252, 144, 181), LV_PART_INDICATOR);

 3.3 修改点击框弧度

lv_obj_set_style_radius(obj1, LV_RADIUS_CIRCLE, LV_PART_INDICATOR);

 3.4 修改字符串与点击框的间隔

lv_obj_set_style_pad_column(obj1, 40, LV_PART_MAIN);

4. 事件

当CheckBox 触发时产生LV_EVENT_VALUE_CHANGED事件。

lv_obj_add_event_cb(obj1, chkboxEventHandle, LV_EVENT_VALUE_CHANGED, NULL);

static void chkboxEventHandle(lv_event_t* e)
{
    lv_event_code_t code = lv_event_get_code(e);
    lv_obj_t* obj = lv_event_get_target(e);
    if(code == LV_EVENT_VALUE_CHANGED)
    {
        const char* txt = lv_checkbox_get_text(obj);
        const char* state = lv_obj_get_state(obj) & LV_STATE_CHECKED ? "Checked" : "Unchecked";
        lv_checkbox_set_text(obj, state);

    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/136833.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Minikube Mac 安装 使用

Minikube Mac 安装 使用 环境要求 硬件要求 至少 2核 CPUs2GB 以上内存20GB 以上磁盘空间网络环境容器或虚拟机, 例如: Docker, QEMU, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, or VMware Fusion/Workstation 本机环境 Mac Pro 10.13.6 Docker 18.09.1 …

半导体行业相关术语

目录 1.晶圆(wafer) 2. 自动化测试设备(ATE Automatic Test Equipment) 3.晶盒(Cassette) 4. 待测设备(DUT Device Under Test) 5. 探针接口板(PIB Prober Interface Board) 6. 设备接口板(DIB D…

干货 | web自动化总卡在文件上传和弹框处理上?

在有些场景中,需要上传文件,而 Selenium 无法定位到弹出的文件框,以及网页弹出的提醒。这些都是需要特殊的方式来处理。input 标签使用自动化上传,先定位到上传按钮,然后 send_keys 把路径作为值给传进去.如图所示&…

【计算机网络-物理层】通信基础

文章目录1 码元、速率、波特、带宽1.1 码元1.2 波特率1.3 比特率1.4 带宽1.5 相关例题2 奈氏准则、香农定理2.1 奈氏准则(采样定理)2.2 香农定理2.3 相关例题3 编码方式3.1 归零编码(RZ)3.2 非归零编码(NRZ&#xff09…

【简单DP】[NOIP2007 普及组] 守望者的逃离

P1095 [NOIP2007 普及组] 守望者的逃离 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)题意:思路:独立做出来的一道DP!一开始我去模拟过程找子问题,然后去找阶段是什么本来想的是以路程作为阶段,但是1e8数组开不下那么…

如何看待PyTorch 2.0?

作者|吴育昕 1 为什么是TorchDynamo Graph capture 把用户 Python 写的模型代码变成 graph,是一切编译的根基。而 PyTorch 在试了这么多方案之后似乎已经锁定 TorchDynamo 作为 graph capture 的未来方向了,所以写一点关于 TorchDynamo 的…

假如面试官问你Babel的原理该怎么回答

1. 什么是 Babel 简单地说,Babel 能够转译 ECMAScript 2015 的代码,使它在旧的浏览器或者环境中也能够运行。 // es2015 的 const 和 arrow function const add (a, b) > a b;// Babel 转译后 var add function add(a, b) {return a b; };Babel…

pwr | 谁说样本量计算是个老大难问题!?(二)(独立样本均值篇)

1写在前面 上次介绍了两组发生率的样本量计算方法,通过pwr包进行计算非常简单,可以有效地减少我们的工作量。😘 有时候我们想比较两组之间的均值,如何计算样本量又一次成了老大难问题。🤒 本期我们还是基于pwr包&#…

【自学Java】Windows安装PyCharm IDE

Windows安装PyCharm IDE PyCharm下载 PyCharm下载地址 https://www.jetbrains.com/pycharm/PyCharm下载 打开上面的链接,打开 Python 的开发工具 PyCharm 的下载页面,如下图所示: 这里我们点击 Download,跳转到新的页面&#…

错过短视频,微博奔向新浪

以后新浪或许会被叫做“微博新浪”。 2022年12月23日晚,港股微博发布公告称,拟斥资15亿元收购新浪网技术有限公司100%股权。此举被外界解读为微博将反向收购新浪。 曾经,微博还是新浪移动互联网时代的“船票”。随着门户网站逐渐凋零&#…

基于ODX/OTX诊断的整车扫描

| ODX (Open Diagnostic data eXchange) 是基于XML语言、开放的诊断数据格式,用于车辆整个生命周期中诊断数据的交互。它一开始由ASAM提出并形成标准MCD-2D,后来以ODX2.2.0为基础形成了ISO标准——ISO 22901-1。 | OTX (Open Test sequence eXchange) …

Redis主从复制哨兵模式

Redis主从复制&哨兵模式一 什么是Redis主从复制1.1 主从复制的架构1.2 主从复制的原理1.3 主库是否要开启持久化1.4 辅助配置(主从数据一致性配置)二 主从复制配置2.1 slave 命令2.2 配置文件三 主从复制常见问题四 Redis哨兵机制4.1 什么是哨兵模式…

WebSocket服务端和客户端代码示例

目录一、WebSocket简介二、WebSocket服务端代码示例三、WebSocket客户端代码示例四、运行服务端和客户端,查看输出结果一、WebSocket简介 WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信&#x…

UE4 优化笔记

一、衡量场景性能的指标(这些指标优化前就要先记录下来,这样才知道优化了多少!) 1.stat unit:单元的状态。最开始根据这个数据,确定大致的优化方向 Frame:每帧消耗的总时长 Game:游戏线程运行消耗的时间 D…

迭代最近点ICP点云配准

传统ICP存在匹配速度慢,误匹配率高等缺点。 粗配准是在不清楚两个点云的相对位置的情况下,找到这两个点云近似的旋转平移矩阵,主要是为精配准提供初始变换矩阵;精配准在已知旋转平移矩阵的情况下,通过多次迭代优化进一…

Redis超详细版教程通俗易懂

【狂神说Java】Redis最新超详细教程通俗易懂 一、缓存、关系型数据库、非关系型数据库 关系型数据库存放在磁盘上,读取数据需要IO操作,速度非常慢非关系型数据库存放在内存上,读取数据速度非常快两者关系:一般会将数据存储在关系…

BGP在数据中心的应用4——BGP配置再优化

注: 本文根据《BGP in the Datacenter》整理,有兴趣和英文阅读能力的朋友可以直接看原文:https://www.oreilly.com/library/view/bgp-in-the/9781491983416/上一部分笔记请参考:https://blog.csdn.net/tushanpeipei/article/deta…

图论(3)单源最短路拓展

活动 - AcWing acw1137 如果我们确定了起点,那么就是一个模板题 选起点有两个办法:1.选取虚拟原点,连接家附近的所有车站。直接以虚拟原点作为我起点跑最短路即可。2.反向建图,取终点到家附近所有车站的dist,取min即…

JVM垃圾回收器-Serial回收器:串行回收

文章目录学习资料垃圾回收器Serial回收器:串行回收学习资料 【尚硅谷宋红康JVM全套教程(详解java虚拟机)】 【阿里巴巴Java开发手册】https://www.w3cschool.cn/alibaba_java JDK 8 JVM官方手册 垃圾回收器 Serial回收器:串行回…

JVM垃圾回收相关算法-垃圾清除阶段

文章目录学习资料垃圾回收相关算法垃圾清除阶段标记-清除(Mark - Sweep)算法复制算法标记-压缩(或标记-整理、Mark - Compact)算法分代收集算法增量收集算法分区算法学习资料 【尚硅谷宋红康JVM全套教程(详解java虚拟…