当前位置:   article > 正文

LVGL——仪表部件_lvgl表盘指针

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、设置最小刻度

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

3、设置主刻度

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

2、添加指针

1、添加指针

  1. lv_meter_indicator_t *lv_meter_add_needle_line(lv_obj_t *obj,
  2. lv_meter_scale_t *scale,
  3. uint16_t width,
  4. lv_color_t color,
  5. int16_t r_mod);

2、添加指针指向的数值

  1. void lv_meter_set_indicator_value( lv_obj_t * obj,
  2. lv_meter_indicator_t * indic,
  3. int32_t value);

3、仪表角度与范围

  1. void lv_meter_set_scale_range(lv_obj_t * obj,
  2. lv_meter_scale_t * scale,
  3. int32_t min, int32_t max,
  4. uint32_t angle_range, uint32_t rotation);

3、表盘代码案例

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/471977
推荐阅读
  

闽ICP备14008679号