EEZ Studio简单运行lvgl

首先下载EEZ Studio.

选择LVGL拖拽生成简单的界面。

构建后生成对应的 内容。

生成ui下的文件拷贝到LVGL编译环境。

写胶水代码:

复制代码
#include "lvgl.h"
#include "ui/ui.h"      // 引入 EEZ Studio 生成的总头文件
#include "ui/actions.h" // 引入 Action 声明
#include <stdio.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;
}

/**
 * 2. 实现 Action (动作)
 * EEZ Studio 在 actions.h 里只写了声明,你必须在这里写实现。
 * 假设你在 Studio 里给按钮绑定了一个叫 "on_button_click" 的 Action
 */
void action_on_button_click(lv_event_t * e) {
    lv_obj_t * target = lv_event_get_target(e);
    printf("Action Triggered: 按钮被点击了!\n");
    
    // 你可以在这里手动切换页面
    // loadScreen(SCREEN_ID_PAGE2); 
}

int main(int argc, char **argv) {
    /* B. LVGL 核心初始化 */
    lv_init();
	
	lv_display_t* disp = hal_init();
	if (disp == NULL) {
		LV_LOG_ERROR("lv_demos initialization failure!");
		return 1;
	}

    /* C. EEZ UI 初始化 */
    // 这步会创建你在 Studio 里设计的第一个页面
    ui_init(); 

    printf("UI Initialized Sync...\n");

    /* D. 主循环 */
    while (1) {
        // 1. 告知 LVGL 时间流逝(如果在嵌入式环境通常由中断处理,PC则手动模拟)
        // lv_tick_inc(5); 

        // 2. LVGL 任务处理器(处理渲染、触摸点击)
        lv_timer_handler(); 

        // 3. EEZ 状态机刷新(处理动画、Flow逻辑、变量同步)
        ui_tick(); 
    }

    return 0;
}

然后运行即可。、

相关推荐
若衹如初見21 小时前
一步一步学习使用LiveBindings() LiveBindings图像绑定与自定义绑定方法()
学习·命令模式
ttod_qzstudio17 天前
【软考设计模式】命令模式:请求封装与调用接收解耦的精讲
设计模式·命令模式
其实防守也摸鱼18 天前
运维--学习阶段问题解答(1)(自测)
linux·运维·服务器·数据库·学习·自动化·命令模式
其实防守也摸鱼20 天前
运维--自动化与容器技术(现代运维标配)
linux·运维·服务器·容器·自动化·安全威胁分析·命令模式
24计网1王仔寿1 个月前
Linux运维与云计算全栈系统化学习指南(Shell+虚拟化+OpenStack+Docker+公私云实战)
linux·课程设计·数据库开发·微信公众平台·neo4j·命令模式·sequoiadb
金融支付架构实战指南2 个月前
CQRS + 命令模式 + 事件驱动 + 数据库持久化
数据库·ddd·命令模式·领域驱动模型
金融支付架构实战指南2 个月前
CQRS 命令 vs GOF 命令模式
ddd·命令模式·领域驱动模型
hoiii1872 个月前
Qt 实现屏幕截图功能
开发语言·qt·命令模式
Jun6262 个月前
QT(2)-通过管道关联CMD
开发语言·qt·命令模式
Drone_xjw2 个月前
Qt国际化多语言配置详解-入门到精通
开发语言·qt·命令模式