草庐IT

LVGL库入门教程02-基本控件与交互

LVGL本质上是一个GUI库,它包含大量的控件(widget),即按钮、标签、滑块、菜单栏这种具有一定人机交互特征的组合图形。LVGL在设计时,采用了一定面向对象编程的设计思路,有效降低了代码编写的难度。LVGL和大多数GUI库的工作方式都是类似的,其代码编写的基础思路为:创建GUI根窗体对象在窗体上绘制各种控件为控件编写响应函数函数在主事件循环中等待用户触发事件响应如果之前有GUI库的使用经验的话,应该可以比较容易明白LVGL代码的编写思路。标签标签(label)应该是GUI最简单也是最基础的控件之一。标签的作用就是显示一小段说明文字。接下来通过介绍标签来介绍LVGL控件的创建、布局与设置属

LVGL库入门教程04-样式

LVGL样式LVGL样式概述创建样式在LVGL中,样式都是以对象的方式存在,一个对象可以描述一种样式。每个控件都可以独立添加样式,创建的样式之间互不影响。可以使用lv_style_t类型创建一个样式并初始化:staticlv_style_tstyle;lv_style_init(&style);样式是延迟渲染的,因此需要使用static存储类别说明符或将其声明为全局变量。样式是多方面的,不仅包括颜色和形状,还包括边距、边框,甚至动画变换效果等细节。LVGL中的样式从CSS中吸取了很多灵感,因此对样式的操作都类似CSS接下来,可以对得到的样式对象设置一些样式规则:/*...createandin

LVGL库入门教程04-样式

LVGL样式LVGL样式概述创建样式在LVGL中,样式都是以对象的方式存在,一个对象可以描述一种样式。每个控件都可以独立添加样式,创建的样式之间互不影响。可以使用lv_style_t类型创建一个样式并初始化:staticlv_style_tstyle;lv_style_init(&style);样式是延迟渲染的,因此需要使用static存储类别说明符或将其声明为全局变量。样式是多方面的,不仅包括颜色和形状,还包括边距、边框,甚至动画变换效果等细节。LVGL中的样式从CSS中吸取了很多灵感,因此对样式的操作都类似CSS接下来,可以对得到的样式对象设置一些样式规则:/*...createandin

LVGL库入门教程01-移植到STM32(触摸屏)

LVGL库移植STM32LVGL库简介LVGL(LightandVersatileGraphicsLibrary)是一个免费、开源的嵌入式图形库,可以创建丰富、美观的界面,具有许多可以自定义样式的控件,支持按键或触摸响应,支持中文字符,并且内存占用较低。可以在https://lvgl.io/demos使用网页端体验LVGL的动态效果,再决定是否需要使用LVGL。LVGL使用C语言编写,可以用在树莓派、ESP32、STM32等单片机上,并支持各种中大型屏幕(只需要提供屏幕的绘图API即可)。LVGL的官网地址为:https://lvgl.io/,GitHub地址为:https://github.

LVGL库入门教程01-移植到STM32(触摸屏)

LVGL库移植STM32LVGL库简介LVGL(LightandVersatileGraphicsLibrary)是一个免费、开源的嵌入式图形库,可以创建丰富、美观的界面,具有许多可以自定义样式的控件,支持按键或触摸响应,支持中文字符,并且内存占用较低。可以在https://lvgl.io/demos使用网页端体验LVGL的动态效果,再决定是否需要使用LVGL。LVGL使用C语言编写,可以用在树莓派、ESP32、STM32等单片机上,并支持各种中大型屏幕(只需要提供屏幕的绘图API即可)。LVGL的官网地址为:https://lvgl.io/,GitHub地址为:https://github.

LVGL 中图片使用问题

此笔记主要是记录在LVGL中使用图片的几种方式,以及使用过程中遇到的问题。最近在ARMlinux中使用LVGL时,发现加载图片变得很卡,一开始还好,当连续加载的图片变多后,特别是动画的过程中直接无法看,折腾了一会直接懵逼了,尝试了各种办法都没搞定,后来发现是我没有好好看文档,导致的问题,这里特意记录一下。一、基本信息lvgl版本:8.3使用环境:linux屏幕大小:480*800二、lvgl外部文件使用为了方便后面的学习,这里先记录一下在linux中通过lvgl使用外部文件的方式,有需要的可以参考一下,好像其他博主很少特意记录这个问题,我也折腾了好一会打开外部文件使用lvgl在8.0后就已经集

LVGL 中图片使用问题

此笔记主要是记录在LVGL中使用图片的几种方式,以及使用过程中遇到的问题。最近在ARMlinux中使用LVGL时,发现加载图片变得很卡,一开始还好,当连续加载的图片变多后,特别是动画的过程中直接无法看,折腾了一会直接懵逼了,尝试了各种办法都没搞定,后来发现是我没有好好看文档,导致的问题,这里特意记录一下。一、基本信息lvgl版本:8.3使用环境:linux屏幕大小:480*800二、lvgl外部文件使用为了方便后面的学习,这里先记录一下在linux中通过lvgl使用外部文件的方式,有需要的可以参考一下,好像其他博主很少特意记录这个问题,我也折腾了好一会打开外部文件使用lvgl在8.0后就已经集

AIR32F103(十) 在无系统环境和FreeRTOS环境集成LVGL

目录AIR32F103(一)合宙AIR32F103CBT6开发板上手报告AIR32F103(二)Linux环境和LibOpenCM3项目模板AIR32F103(三)Linux环境基于标准外设库的项目模板AIR32F103(四)27倍频216MHz,CoreMark跑分测试AIR32F103(五)FreeRTOSv202112核心库的集成和示例代码AIR32F103(六)ADC,I2S,DMA和ADPCM实现的录音播放功能AIR32F103(七)AIR32F103CBT6/CCT6启用96K内存AIR32F103(八)集成HelixMP3解码库播放MP3AIR32F103(九)CAN总线的通信和

AIR32F103(十) 在无系统环境和FreeRTOS环境集成LVGL

目录AIR32F103(一)合宙AIR32F103CBT6开发板上手报告AIR32F103(二)Linux环境和LibOpenCM3项目模板AIR32F103(三)Linux环境基于标准外设库的项目模板AIR32F103(四)27倍频216MHz,CoreMark跑分测试AIR32F103(五)FreeRTOSv202112核心库的集成和示例代码AIR32F103(六)ADC,I2S,DMA和ADPCM实现的录音播放功能AIR32F103(七)AIR32F103CBT6/CCT6启用96K内存AIR32F103(八)集成HelixMP3解码库播放MP3AIR32F103(九)CAN总线的通信和

OpenHarmony轻量化系统的LVGL使用(一)

​​想了解更多关于开源的内容,请访问:​​​​51CTO 开源基础软件社区​​​​https://ost.51cto.com​​概括LVGL(LightandVersatileGraphicsLibrary)是一个开源轻量级显示框架,支持多类型显示设备&&输入设备,作为一个开源图形库,自带了三十多种小组件供开发者使用。兼容低配置的嵌入式开发,可以以极低的配置要求完成丝滑动画。LVGL其强大的功能,使得它在物联网设备中应用比比皆是。前一阵子开发了润和hispark_pegasusHi3861开发板上的SSD1306,其提供的开发库开发起来还是较为困难,于是想尝试将LVGL移植到OpenHarmo