LVGL 8.2 meter

news/2025/2/19 5:54:07/

动画播放回调函数

static lv_obj_t* meter;
static void set_value(void* indic, int32_t v)
{lv_meter_set_indicator_value(meter, indic, v);  // 设置表头指示值
}

创建meter

static void lv_example_meter_1(void)
{meter = lv_meter_create(lv_scr_act()); // 创建meter对象lv_obj_center(meter);  // 居中显示lv_obj_set_size(meter, 200, 200);  // 设置大小/*Add a scale first*/lv_meter_scale_t* scale = lv_meter_add_scale(meter); // 增加表刻度lv_meter_set_scale_ticks(meter, scale, 41, 2, 10, lv_palette_main(LV_PALETTE_GREY)); // 设置tickslv_meter_set_scale_major_ticks(meter, scale, 8, 4, 15, lv_color_black(), 10); // 设置major tickslv_meter_indicator_t* indic;/*Add a blue arc to the start*/indic = lv_meter_add_arc(meter, scale, 3, lv_palette_main(LV_PALETTE_BLUE), 0); //添加蓝色表弧指示lv_meter_set_indicator_start_value(meter, indic, 0); // 起始指示值0lv_meter_set_indicator_end_value(meter, indic, 20); // 结束指示值20/*Make the tick lines blue at the start of the scale*/indic = lv_meter_add_scale_lines(meter, scale, lv_palette_main(LV_PALETTE_BLUE), lv_palette_main(LV_PALETTE_BLUE), false, 0);// 添加蓝色刻度线lv_meter_set_indicator_start_value(meter, indic, 0); //刻度线起始值0lv_meter_set_indicator_end_value(meter, indic, 20);//刻度线结束值20/*Add a red arc to the end*/indic = lv_meter_add_arc(meter, scale, 3, lv_palette_main(LV_PALETTE_RED), 0);//添加红色表弧指示lv_meter_set_indicator_start_value(meter, indic, 80); // 起始指示值80lv_meter_set_indicator_end_value(meter, indic, 100); // 结束指示值100/*Make the tick lines red at the end of the scale*/indic = lv_meter_add_scale_lines(meter, scale, lv_palette_main(LV_PALETTE_RED), lv_palette_main(LV_PALETTE_RED), false,0);// 添加红色刻度线lv_meter_set_indicator_start_value(meter, indic, 80); //刻度线起始值80lv_meter_set_indicator_end_value(meter, indic, 100);//刻度线结束值100/*Add a needle line indicator*/indic = lv_meter_add_needle_line(meter, scale, 4, lv_palette_main(LV_PALETTE_GREY), -10); // 添加灰色表针/*Create an animation to set the value*/lv_anim_t a;lv_anim_init(&a);  lv_anim_set_exec_cb(&a, set_value); //关联动画执行函数lv_anim_set_var(&a, indic); // 设置关联变量到动画lv_anim_set_values(&a, 0, 100);  // 设置动画起始值0,结束值100lv_anim_set_time(&a, 2000);  // 调置动画duration时间lv_anim_set_repeat_delay(&a, 100); // 设置重复动画前的延时时间lv_anim_set_playback_time(&a, 500); // 设置动画回播时间lv_anim_set_playback_delay(&a, 100); // 设置开始回播前的延时时间lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE); // 无限循环重复播放 lv_anim_start(&a);  //启动动画
}

运行效果

在这里插入图片描述


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

相关文章

Caused by: org.postgresql.util.PSQLException: 错误: 逻辑解码要求wal_level >= logical

使用cloudcanal pg数据库双主集群搭建时报错: Exception stack is java.lang.RuntimeException: init pg replication error,response msg:invoke rcontroller method failed.Request id:a2b25648-a91f-11ed-98c7-ab261137fb5amsg:PSQLException: 错误: 逻辑解码…

【STM32CubeMX+LVGL】记录关于STM32移植LVG时报错问题

错误一使用Keil编译器 STM32F103RCT6_TFT\STM32F103RCT6_TFT.axf: Error: L6218E: Undefined symbol __use_two_region_memory (referred from startup_stm32f103xe.o). STM32F103RCT6_TFT\STM32F103RCT6_TFT.axf: Error: L6218E: Undefined symbol __aeabi_assert (referred f…

22-Ansible常用模块磁盘管理模块parted、lvg、lvol、filesystem、mount

一、parted模块 可以管理磁盘 device 指定硬盘设备路径 比如 /dev/vdb label 指定分区表类型 gpt mbr number 指定分区序号 part_start 分区起始位置 part_end 分区结束位置 state 指定操作方式 present创建 a…

LVM 详细基本操作

LVM(Logical Volume Manager) 功能/命令物理卷管理卷管理逻辑卷管理扫描pvscanvgscanlvscan建立pvcreatevgcreatelvcreate显示pvdisplay|pvsvgdisplay|vgslvdisplay|lvs删除pvremovevgremovelvremove扩容-vgextendlvextend缩小-vgreducelvreduce 创建LVM 物理卷初始化 $ pv…

LVGL (一) QT移植开发

目录 一、移植所需材料 二、Qt创建工程 三、移植文件 四、添加文件到工程中 五、编译运行 六、笔者移植成功文件 一、移植所需材料 1、lvgl for qt : https://github.com/lvgl/lv_port_pc_eclipse git 获取 git clone --recursive https://github.com/example/exam…

LVGL学习笔记19 - 下拉列表dropdown

目录 1. Parts 1.1 按钮状态 1.2 列表状态 2. 设置 2.1 设置选项 2.2 设置方向 2.3 设置符号 2.4 设置字符串 2.5 手动打开或关闭列表 2.6 设置高亮效果 3. 样式 3.1 设置列表高度 3.2 改变按钮状态时圆角弧度 3.3 修改字符串颜色 3.4 修改字符串对齐方式 3.5 修改…

LVGL WIN32模拟器环境搭建

LVGL WIN32模拟器环境搭建 LVGL简介环境搭建IDE 选择模拟器代码下载PC模拟器搭建其他配置项说明 LVGL简介 LVGL是一个跨平台、轻量级、易于移植的图形库。因其支持大量特性和其易于裁剪,配置开关众多,且版本升级较快,不同版本之间存在一定的…

git使用命令技巧

文章目录 前言查看提交用户名更改提交用户名查看文件的diff查看提交记录Git 本地分支管理查看、切换、创建和删除分支 前言 我们在使用git的时候,提交后会看到如下记录: 经常会遇到提交后,这个作者的名字和自己设置的名字不一致&#xff0…