lv_obj_set_style和lv_style_set的区别
时间: 2023-07-17 16:57:07 浏览: 149
`lv_obj_set_style`和`lv_style_set`是LVGL(Light and Versatile Graphics Library)中两个不同的函数,用于设置对象(widget)的样式。
1. `lv_obj_set_style`函数用于将一个已经创建的样式应用到一个对象上。它的原型如下:
```c
void lv_obj_set_style(lv_obj_t * obj, uint8_t part, lv_style_t * style);
```
- `obj`是要设置样式的对象指针。
- `part`是对象的部分(part),即对象的不同部分可以有不同的样式,例如按钮的边框、标签的文本等。
- `style`是要应用到对象上的样式。
通过调用`lv_obj_set_style`函数,可以将一个已经创建好的样式应用到对象上,从而改变对象的外观。这个函数可以多次调用,每次调用可以为对象的不同部分设置不同的样式。
2. `lv_style_set`函数用于设置一个已经创建的样式的属性值。它的原型如下:
```c
void lv_style_set(lv_style_t * style, lv_style_prop_t prop, lv_style_value_t value);
```
- `style`是要设置属性值的样式指针。
- `prop`是要设置的属性。
- `value`是属性的值。
通过调用`lv_style_set`函数,可以为已经创建好的样式设置不同属性的值,从而改变样式的细节。这个函数可以多次调用,每次调用可以设置样式的不同属性的值。
总结来说,`lv_obj_set_style`函数是将一个已经创建的样式应用到对象上,从而改变对象的外观;而`lv_style_set`函数是为一个已经创建的样式设置属性值,从而改变样式的细节。
阅读全文