LVGL——仪表部件

目录

一、部件组成

二、部件主要功能 

1、添加刻度

1、添加刻度

2、设置最小刻度

3、设置主刻度

2、添加指针

1、添加指针

2、添加指针指向的数值

3、仪表角度与范围

3、表盘代码案例


一、部件组成

① LV_PART_MAIN: 主体背景;

② LV_PART_TICK:仪表的刻度;

③ LV_PART_INDICATOR:仪表指针;

④ LV_PART_ITEMS:圆弧。

二、部件主要功能 

1、添加刻度

1、添加刻度

lv_meter_scale_t *lv_meter_add_scale(lv_obj_t *obj)

2、设置最小刻度

void lv_meter_set_scale_ticks(lv_obj_t *obj, lv_meter_scale_t *scale,
uint16_t cnt, uint16_t width,
uint16_t len, lv_color_t color);

3、设置主刻度

void lv_meter_set_scale_major_ticks(lv_obj_t *obj, lv_meter_scale_t *scale,
uint16_t nth, uint16_t width, uint16_t len,
lv_color_t color, int16_t label_gap);

2、添加指针

1、添加指针

lv_meter_indicator_t *lv_meter_add_needle_line(lv_obj_t *obj,
lv_meter_scale_t *scale,
uint16_t width,
lv_color_t color,
int16_t r_mod);

2、添加指针指向的数值

void lv_meter_set_indicator_value( lv_obj_t * obj,
                        lv_meter_indicator_t * indic,
                        int32_t value);

3、仪表角度与范围

void lv_meter_set_scale_range(lv_obj_t * obj,
                            lv_meter_scale_t * scale,
                            int32_t min, int32_t max,
                            uint32_t angle_range, uint32_t rotation);

3、表盘代码案例

//时钟
    meter = lv_meter_create(ui_HomePage);  //定义并创建仪表
    lv_obj_set_size(meter, 180, 180);       //设置仪表宽度高度
    lv_obj_set_x(meter, 30);
    lv_obj_set_y(meter, 95);
    lv_meter_scale_t* scale_min = lv_meter_add_scale(meter);
    lv_meter_set_scale_ticks(meter, scale_min, 61, 1, 5, lv_palette_main(LV_PALETTE_GREY));
    lv_meter_set_scale_range(meter, scale_min, 0, 60, 360, 270);
    lv_meter_scale_t* scale_hour = lv_meter_add_scale(meter);   //定义并添加刻度
    lv_meter_set_scale_ticks(meter, scale_hour, 12, 1, 1, lv_palette_main(LV_PALETTE_GREY));    //设置小刻度
    lv_meter_set_scale_major_ticks(meter, scale_hour, 1, 2, 10, lv_color_black(), 10);          //设置主刻度
    lv_meter_set_scale_range(meter, scale_hour, 1, 12, 330, 300);
    lv_meter_indicator_t* indic_hour;
    indic_hour = lv_meter_add_needle_line(meter, scale_hour, 6,lv_palette_main(LV_PALETTE_BLUE), -30);  //添加仪表指针,该指针宽度为 4,颜色为灰色,长度-10
    lv_meter_set_indicator_value(meter, indic_hour,11);      //设置指针指向的数值
    lv_meter_indicator_t* indic_min;
    indic_min = lv_meter_add_needle_line(meter, scale_min, 3,lv_palette_main(LV_PALETTE_RED), -10);
    lv_meter_set_indicator_value(meter, indic_min,59);

  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

琪琪猫不会嵌入式

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

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

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

打赏作者

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

抵扣说明:

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

余额充值