lv_obj_set_style和lv_style_set的区别
时间: 2023-07-17 20:58:53 浏览: 57
lv_obj_set_style和lv_style_set都是用于设置对象的式,但有一些区别:
1.不同:lv_obj_set_style接受两个参数第一个参数是要设置样式的对象,第二个参数是要应用的式。lv_style_set接受两个参数,一个参数是要设置的样式,第二个参数是样式属性和值。
2. 用范围不同:lv_obj_set_style作用于整个对象,会将指定的样式应用于对象及其子对象。而lv_style_set仅作用于指定的样式,通常用于创建或修改样式。
3. 使用方式不同:lv_obj_set_style可以直接将样式应用到对象,而lv_style_set需要在创建或修改式后,使用lv_obj_add_style将样式附加到对象上。
总结来说,lv_obj_set_style用于在运行时将样式应用于对象及其子对象,而lv_style_set用于创建或修改样式,然后使用lv_obj_add_style将样式附加到对象上。
相关问题
lv_obj_set_style_radius
lv_obj_set_style_radius是LittlevGL库中的一个函数,用于设置对象的圆角半径。圆角半径可以应用于按钮、容器等对象,使其具有圆角的外观。
该函数的原型如下:
```c
void lv_obj_set_style_radius(lv_obj_t * obj, lv_style_prop_t prop, lv_coord_t value);
```
参数说明:
- obj:要设置圆角半径的对象指针。
- prop:要设置的样式属性,一般为LV_STYLE_RADIUS。
- value:圆角半径的数值。
使用该函数可以为对象设置圆角半径,使其外观更加美观。例如,可以将按钮的圆角半径设置为10像素:
```c
lv_obj_set_style_radius(btn, LV_STYLE_RADIUS, 10);
```
lv_obj_set_style_local_radius
`lv_obj_set_style_local_radius`函数用于设置对象的圆角半径。它的原型如下:
```c
void lv_obj_set_style_local_radius(lv_obj_t * obj, uint32_t part, lv_state_t state, lv_coord_t value);
```
参数说明:
- `obj`:要设置样式的对象。
- `part`:要设置样式的部分,例如`LV_OBJ_PART_MAIN`表示对象的主要部分。
- `state`:要设置样式的状态,例如`LV_STATE_DEFAULT`表示默认状态。
- `value`:要设置的圆角半径值。
以下是一个示例代码,用于将对象的主要部分的圆角半径设置为10像素:
```c
lv_obj_t *obj = lv_obj_create(lv_scr_act(), NULL);
lv_obj_set_style_local_radius(obj, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, 10);
```
在上面的示例中,`lv_obj_set_style_local_radius`函数设置了对象的主要部分的圆角半径为10像素。
你可以根据需要调整`value`参数的值来改变圆角半径的大小。