[Questions][Doc][Set-Style] How to know which "LV_PART_*" should I use when set a style?


As a new comer to LVGL, I am learning the documents to set style of a object.

When I read the “Parts” section, I got it like this:

  1. Each object could be composed of parts which could have their own styles.
  2. Like a slider, I could know from the slider document that it have 3 parts and I could pass LV_PART_MAIN, LV_PART_INDICATOR, LV_PART_KNOB to set its style.

The question is that, for the function lv_obj_set_style_border_opa which need a selector param, which LV_PART_* is applicable to it? where could I find the reference?

void lv_obj_set_style_border_opa(struct _lv_obj_t *obj, lv_opa_t value, lv_style_selector_t selector)


What MCU/Processor/Board and compiler are you using?


What LVGL version are you using?

What do you want to achieve?

What have you tried so far?

Code to reproduce

Add a code snippet which can run in the simulator. It should contain only the relevant code that compiles without errors when separated from your main code base.

The code block(s) should be formatted like:

/*You code here*/

Screenshot and/or video

If possible, add screenshots and/or videos about the current state.

Lets use lv_slider as an example.

You have to think about it this way. The lv_slider widget which is the slider control has a base of lv_obj. That base is the MAIN part. The INCICATOR is the portion of the slider that represents where the control is located. The KNOB is the part a user would touch/click and drag to change the value of the slider.

Not all widgets have all of those parts. an example is the lv_label widget. It is not going to have an INDICATOR or a KNOB.

Thanks!!! Got it.