ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

【LVGL】圆弧部件

2026/8/8 0:36:52 拓冰建站 浏览量
【LVGL】圆弧部件

引言

圆弧部件(lv_arc)

image

圆弧部件相关 api 函数

注意:

  1. 范围值设置最好放在当前值之前。
  2. 背景弧角度限定了前景弧角度的范围。
  3. 尽量不要用前景弧设置函数,假如与当前值对应不上则会出问题。
  4. 设置旋转角度实际上指的是圆弧整体的旋转角度。

image
image

示例程序

static void event_cb(lv_event_t *e)
{lv_obj_t *target = lv_event_get_target(e);printf("%d\r\n", lv_arc_get_value(target)); /* 获取当前值并打印 */
}void my_gui(void)
{lv_obj_t *arc = lv_arc_create(lv_scr_act());    /* 创建圆弧 */lv_obj_center(arc); /* 居中 */lv_arc_set_range(arc, 0, 200);  /* 设置圆弧范围 */lv_arc_set_value(arc, 80);    /* 设置当前值 *///    lv_arc_set_angles(arc, 0, 90);  /* 设置前景弧角度 */lv_arc_set_bg_angles(arc, 0, 270);  /* 设置背景弧角度 */lv_arc_set_rotation(arc, 180);  /* 设置圆弧整体旋转角度 */lv_obj_add_event_cb(arc, event_cb, LV_EVENT_VALUE_CHANGED, NULL);   /* 添加事件 *///    lv_arc_set_mode(arc, LV_ARC_MODE_NORMAL);   /* 设置模式 */
//    lv_arc_set_mode(arc, LV_ARC_MODE_REVERSE);   /* 设置模式 */lv_arc_set_mode(arc, LV_ARC_MODE_SYMMETRICAL);   /* 设置模式 */lv_arc_set_change_rate(arc, 90);    /* 设置绘制速率,越大绘制越快 */
}

现象:

image

博客导航

博客导航