当前位置: 首页 > news >正文

LCGL基本使用

LVGC简介

light video Graphics Library
(1)纯c与语言编程,将面向对象的思想植入c语言。
(2)轻量化图形库资源,人机交互效果好,在(ios Android QT)移植性较好,但是这些平台对硬件要求较高

lcgc工程搭建

  1. 工程源码的获取
    获取工程结构
    https://github.com/lvgl/lv_port_pc_vscode/tree/master
    在这里插入图片描述
    获取lvgl组件库
    https://github.com/lvgl/lvgl/tree/db62f65c22811acf36b9b83da0228d7389317283
    在这里插入图片描述将工程架构压缩包装包解压到Linux下,解压LCGL到工程的lvgl文件夹下
  2. 根据README进行操作
  3. 工程的编译

编程思想

使用面向对象操作,由于c语言中没有类的盖面,用结构体代替
在这里插入图片描述

lvgl中examples文件的解释

anim:存放与动画(Animation)相关的示例
arduino:针对 Arduino 平台的示例
assest:资源
event:事件(Event)相关示例,像按钮点击、滑动等事件的监听、处理逻辑
get_started:入门示例,适合刚接触 LVGL 的开发者,包含最基础的初始化、简单控件创建等代码,帮用户快速搭建起基本使用框架 。
grad:渐变(Gradient)相关示例,比如颜色渐变效果在控件(如按钮、窗口背景等)
layouts:布局(Layout)示例,介绍 LVGL 各种布局管理方式,像行列布局、对齐方式等,让界面元素能合理排列
libs:可能存放一些辅助库、第三方依赖库相关的示例,或者是 LVGL 自身基础库功能的演示
others:其他杂项示例
porting:移植相关示例
scroll:滚动(Scroll)相关示例
styles:样式(Style)示例
widgets:控件(Widgets,如按钮、标签、滑块等 )示例,每个常用控件的创建、配置、交互逻辑等

控件基本操作

新建对象

lv_obj_t *obj = lv_obj_create(lv_screen_active());//新建一个对象,是整个屏幕作为父
// 设置宽度、高度
lv_obj_set_width(obj, new_width);
lv_obj_set_height(obj, new_height);
lv_obj_set_size(struct _lv_obj_t *obj, lv_coord_t w, lv_coord_t h)// 获取宽度、高度
lv_obj_get_width(obj);
lv_obj_get_height(obj);// 设置x轴、y轴方向的坐标位置
lv_obj_set_x(obj, new_x);
lv_obj_set_y(ob
http://www.dtcms.com/a/308838.html

相关文章:

  • 智慧园区通行效率↑68%!陌讯多模态融合算法的实战解析
  • 【C++】1·入门基础
  • C语言基础第18天:动态内存分配
  • 什么是 MySQL 的索引?常见的索引类型有哪些?
  • 【动态规划】数位dp
  • 【AD】域管理员登录错误
  • Google政策大更新:影响金融,Ai应用,社交,新闻等所有类别App
  • 王道考研-数据结构-01
  • Qt_Gif_Creator 基于Qt的屏幕gif录制工具
  • 汽车线束行业AI智能化MES解决方案:推动智能制造与质量升级
  • cpu运行 kokoro tts 服务器语音转化首选
  • 为什么 Batch Normalization 放在全连接/卷积层的输出之后?
  • linux如何将两份hdmi edid合并
  • 硬件电路基础学习
  • Cesium 快速入门(五)坐标系
  • LangGraph底层原理与基础应用入门
  • vue3可编辑表格
  • linux自动构建工具make/makefile
  • 【计算机网络】5传输层
  • MySQL 中的 JOIN 操作有哪些类型?它们之间有什么区别?
  • 国标gb28181 SIP协商详细分析
  • 《嵌入式C语言笔记(十七):进制转换、结构体与位运算精要》
  • .map文件中的0x40f (size before relaxing)是什么意思?
  • 这个项目有多急?
  • MySQL常用函数总结
  • 经典算法之美:冒泡排序的优雅实现
  • 多场景-阶梯式碳交易机制下考虑需求响应的综合能源系统优化(MATLAB模型)
  • 智能Agent场景实战指南 Day 27:Agent部署与可扩展性
  • 本地部署VMware ESXi,并实现无公网IP远程访问管理服务器
  • C++手撕简单KNN