lvgl学习笔记

基础对象

littleVGL 是以对象为概念的,而其最核心的基础对象是 lv_obj 控件,其他的所有专用控件(比如按钮,标签,列表等)都是在此 lv_obj 对象的基础上衍生出来的,所有的控件对象都具有一些共同的属性,如下所示:

  1. 位置(Position)
  2. 大小(Size)
  3. 父类(Parent)
  4. 是否可拖拽(Drag enable)
  5. 是否可点击(Click enable)等等

对象分为父对象和子对象,父对象可以被看作是其子对象的容器,每个对象只有一个父对象(screen 对象没有父对象),父对象可以有无限数量的子对象,同时父对象的类型是没有限制,父对象和子对象之间具有如下 2 点特性:

  1. 一起移动
    如果父对象的位置更改,则子对象将随父对象一起移动,因此子对象的坐标位置是

以父对象的左上角而言的,而不是以屏幕的左上角
2) 子对象只能在父对象的区域内显示
如果子对象的一部分在父对象的外面,那么子对象的这一部分将不会被显示出来

1
2
3
4
5
6
7
8
9
10
11
12
13
--获取默认屏幕父类
scr0 = lvgl.scr_act()
--原型: lv_obj_t * lv_obj_create(lv_obj_t * parent, const lv_obj_t * copy);
--lua原型:lvgl.obj_create(parent,copy)
--参数:
--parent: 指向父对象,如果传 NULL 的话,则是在创建一个 screen 屏幕
--copy: 此参数可选,表示创建新对象时,把 copy 对象上的属性值复制过来
btn0 = lvgl.btn_create(scr0, nil)
--lvgl.obj_set_opa_scale_enable(btn0,1)
--lvgl.obj_set_opa_scale(btn0,125)
--创建一个按钮对象
lvgl.obj_set_size(btn0, 50, 30)
lvgl.disp_load_scr(scr0)

上次更新 2021-01-28