LVGL9.5版本的基础使用学习

首先下载下来。

使用linux比较简单。

使用

mkdir build

cd build

cmake ..

make

来生成基础的.a

注意该项目故意没有直接给出配置头文件!

所以会编译失败。

这时需要拷贝lv_conf_template.h为需要的配置文件lv_conf.h

这里面的宏需要修改来开启需要的功能。

例如需要开启例子相关的,里面还有更细的demos,需要看哪个还需要勾选:

/** Enable examples to be built with the library. */

#define LV_BUILD_EXAMPLES 1

/** Build the demos */

#define LV_BUILD_DEMOS 1

总之,所有的功能都是需要该配置文件进行处理的。

编译会生成对应的.a文件。

接着直接在主目录进行编写测试程序:

复制代码
//! main.c
#include "lvgl.h"
// Demos (你之前看的):是完整的、大型的应用界面(如整套音乐播放器、性能跑分软件)。Examples (这个文件):是细小的、针对特定功能的教学代码(通常只有 20-50 行)。
#include "demos/lv_demos.h"
#include "examples/lv_examples.h"
static lv_display_t* hal_init(void)
{
  //lv_display_t* disp = NULL;

  /* TODO: init display and indev */
    
	// 1. 创建 SDL 窗口
  // 参数:宽度, 高度
  lv_display_t * disp = lv_sdl_window_create(800, 480);
  
  // 2. 初始化 SDL 鼠标输入(模拟触摸屏)
  lv_sdl_mouse_create();
  
  // 3. (可选) 初始化 SDL 键盘
  lv_sdl_keyboard_create();

  return disp;
}

int main(int argc, char ** argv)
{
  lv_init();

  lv_display_t* disp = hal_init();
  if (disp == NULL) {
    LV_LOG_ERROR("lv_demos initialization failure!");
    return 1;
  }
  
  // 直接可以使用参数如music等查看各个demo
  /*
  if (!lv_demos_create(&argv[1], argc - 1)) {
    lv_demos_show_help();
    goto demo_end;
  }
  */
  
  // example是用于学习更细节的东西的
  //动画,基础,布局等
  //lv_example_anim_1();
  //lv_example_get_started_4();
  //lv_example_grad_1();
  //lv_example_flex_2();
  //lv_example_grid_1();
  
  //lib各种库方便使用
  // 例如gif.需要先开启LV_USE_GIF
  //lv_example_gif_1();
  
  //
  
  //lv_example_scroll_1();
  //lv_example_style_1();
  
  
  //widgets
  //lv_example_canvas_1();
  //lv_example_dropdown_1();
  //lv_example_menu_1();
  //lv_example_msgbox_1();
  //lv_example_table_1();
  //lv_example_tabview_1();
  //lv_example_tileview_1();
  lv_example_win_1();
  
  while (1) {
    uint32_t delay = lv_timer_handler();
    if (delay < 1) delay = 1; /*delay for at least 1 ms*/
    else if(delay == LV_NO_TIMER_READY) delay = LV_DEF_REFR_PERIOD; /*handle LV_NO_TIMER_READY. Another option is to `sleep` for longer*/
    usleep(delay * 1000);
  }

demo_end:
  lv_deinit();
  return 0;
}

这里注意我使用了sdl2来进行快速的应用开发仿真,并没有实际的硬件

编译命令:

gcc -o lvgl_demo sim_main.c -I./ -I./lvgl -L./build/lib -llvgl_demos -llvgl_examples -llvgl_thorvg -llvgl -lSDL2 -lm -lpthread

然后将注释中的demos放开,或者例子来查看。

如demos:

./lvgl_demo music

相关推荐
星夜夏空991 小时前
STM32单片机学习(1)——keil5安装以及环境部署
stm32·单片机·学习
我想我不够好。1 小时前
2026.5.8 消防监控学习1hour
学习
Amazing_Cacao1 小时前
CFCA精品可可产区认证课程风土体系(非洲):穿透浓厚表象,深度解剖精品可可底层的结构张力与多维对抗
笔记·学习·重构
库奇噜啦呼1 小时前
【iOS】源码学习-类的结构分析
学习·ios·cocoa
小新同学^O^1 小时前
简单学习--> 神经网络
人工智能·python·神经网络·学习
沉浸式学习ing1 小时前
音视频内容怎么快速消化?视频转思维导图+精华速览的方法
人工智能·学习·ai·音视频·知识图谱·xmind
楼田莉子3 小时前
仿Muduo的高并发服务器:Http协议模块
linux·服务器·c++·后端·学习
AI机器学习算法10 小时前
《动手学深度学习PyTorch版》笔记
人工智能·学习·机器学习
贺一航【Niki】10 小时前
【学习笔记】杂乱知识
笔记·学习