ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

【LVGL】部件 - 基础对象

【LVGL】部件 - 基础对象

引言

LVGL 编程思想

LVGL 采用的是面向对象的编程思想,以抽象的类来实例化不同的对象(部件)

举例

image

实现流程

C 语言中没有“类”的概念,LVGL 以结构体的形式来实现“类”的思想。

过程:

  1. 使用lv_obj_t结构体实例化一个具体的对象:lv_obj(基础对象),默认就是以当前活动的屏幕作为基础对象。
  2. 这个基础对象作为父对象衍生出更多的子对象:lv_switchlv_lablelv_slider...这些部件。
  3. 父对象衍生出这些子对象后,子对象就会继承很多父对象的属性以及行为,后面就可以用一套同意的 api 函数对这些属性和行为进行管理。

image

void my_gui(void)
{lv_obj_t* switch1 = lv_switch_create(lv_scr_act());	// 创建一个在当前活动屏幕作为父对象的子对象开关switch1lv_obj_set_size(switch_obj, 120, 60);		// 设置开关部件大小lv_obj_t* switch2 = lv_switch_create(switch1);	// 可以选择活动屏幕或者前面的switch1来继承,若选择了switch2则与switch2只有命令关系,与活动屏幕才是父子关系
}

现象:

image

父子对象规律

  1. 用一个父对象创建出一个子对象时,父对象就是子对象的容器,子对象装在父对象中。
  2. 用一个父对象创建出一个子对象时,子对象默认创建在父对象的左上角。

基础对象简介

基础对象(lv_obj)可以作为父对象,来创建其他对象,同时也可以作为部件使用。

image

举例

void my_gui(void)
{lv_obj_t* obj1 = lv_obj_create(lv_scr_act());lv_obj_set_size(obj1, 300, 400);
}

现象:

image

父对象和子对象的关系

博客导航

博客导航

返回列表