提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、LVGL编程思想

1.面向对象,以抽象类实例化不同的部件
2.c语言没有类的概念,所以LVGL使用结构体实现类的思维

二、基础对象

基础对象(v_obj)可以作为父对象,来创建其他对象,同时它也可作为部件使用。
子对象在父对象的左上角

在这里插入图片描述

``
小例程:
#include"lvgl.h"
#include"my_gui.h"
void my_gui (void)
{
lv_obj_t *obj1 = lv obj create(lv_scr_act ());
1v_obj set_size (obj1, 300, 400) ;
}


三、部件基本属性

1.大小(size)

设置宽度:Iv_obj_set_width(obj, new_width);
设置高度:Iv_obj_set_height(obj, new_height);
同时设置宽度、高度:Iv_obj_set_size(obj,new_width, new_height);

#include "lvgl.h"#include "my gui.h"
void my_gui (void)
{
  lv objt *objl = lv obj create(lv scr act0);
  lv_obj_set_width (objl, 200);
  lv_obj_set_height (objl, 300);
  lv_obj_set_size (objl, 200, 300);

}

2.位置(position)

在这里插入图片描述
设置X轴坐标:Iv_obj_set_x(obj,new_x);
设置Y轴坐标:Iv_obj_set_y(obj, new_y);
同时设置X、Y轴坐标:Iv_obj_set_pos(obj,new_x,new_y);

#include "lvgl.h"#include "my gui.h"
void my_gui (void)
{
  lv_obj_t *obj1 = lv_obj_create (lv_scr_act ());
  lv_objset_x(obj1,100);
  lv_objset_y (obj1,200);
  lv_obj_set_pos (obj1, 200,200) ;
}

3.对齐 (alignment)

(1).参照父对象对齐
lv_obj_set_align(obj, LV_ALIGN_…);
参照父对象对齐,再进行偏移:
lv_obj_align(obj, LV_ALIGN_…, x, y);

			#include "lvgl.h"
			#include "my_gui.h"
			
			void my_gui(void)
			{
			    lv_obj_t *obj1 = lv_obj_create(lv_scr_act());
			    lv_obj_set_align(obj1, LV_ALIGN_CENTER);
			}

(2).参照其他对象对齐(无父子关系),再进行偏移:
lv_obj_align_to(obj_to_align, obj_referece, LV_ALIGN_…, x, y);

#include "lvgl.h"
#include "my_gui.h"

void my_gui(void)
{
    lv_obj_t *obj1 = lv_obj_create(lv_scr_act());
    lv_obj_set_size(obj1, 300, 300);
//    lv_obj_set_align(obj1, LV_ALIGN_RIGHT_MID);
//    lv_obj_align(obj1, LV_ALIGN_BOTTOM_MID, 50, 50);

    lv_obj_t *obj2 = lv_obj_create(lv_scr_act());
    lv_obj_align_to(obj2, obj1, LV_ALIGN_OUT_RIGHT_MID, 0, 0);//外部居中对齐
}

在这里插入图片描述

4.样式(styles)

5.事件(events)

6.布局管理

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

更多推荐