readme.md 13 KB

exEasyUI 组件演示

一、项目概述

本项目是基于 exEasyUI 图形用户界面库的完整组件演示程序,展示了 20 种不同的 UI 组件和功能模块。每个演示模块独立运行,通过主程序统一调度管理。

二、演示模块列表

2.1 系统核心模块

  1. main.lua - 主程序入口模块

    • 项目初始化和版本定义
    • 系统任务调度和管理
    • 看门狗配置和系统监控
    • 演示模块的选择和加载
    • 提供统一的程序启动入口
  2. ui_main.lua - 用户界面主控模块

    • 多页面管理和切换逻辑
    • 触摸事件分发和处理
    • 界面渲染调度
    • 主题管理和配置
    • 提供完整的用户交互体验
  3. hw_font_drv.lua - 默认使用字体、lcd显示、tp触摸初始化驱动模块

    • 统一的硬件初始化接口
    • 支持默认字体、HZFont、GTFont、自定义字体配置
    • LCD显示参数管理
    • 触摸屏配置管理
    • 字体渲染初始化

2.2 基础组件演示

  1. win_label.lua - 动态更新标签演示(实时时间显示,使用默认字体)
  2. win_button.lua - 基础按钮组件演示(使用默认字体)
  3. win_toggle_button.lua - 切换按钮演示(图标切换,使用默认字体)
  4. win_progress_bar.lua - 静态进度条演示(使用默认字体)
  5. win_dyn_progress_bar.lua - 动态进度条演示(自动往复动画,使用默认字体)

2.3 交互组件演示

  1. win_message_box.lua - 消息框组件演示(使用默认字体)
  2. win_check_box.lua - 复选框组件演示(使用默认字体)
  3. win_combo_box.lua - 下拉框组件演示(使用默认字体)
  4. win_input.lua - 文本输入框演示(使用默认字体)
  5. win_password_input.lua - 密码输入框演示(带显示/隐藏切换,使用默认字体)
  6. win_number_input.lua - 数字输入框演示(带增减按钮,使用默认字体)

2.4 多媒体组件演示

  1. win_picture.lua - 静态图片显示演示(使用默认字体)
  2. win_autoplay_picture.lua - 自动轮播图片演示(使用默认字体)

2.5 高级功能演示

  1. win_all_component.lua - 所有组件综合演示(带滚动功能,使用默认字体)
  2. win_horizontal_slide.lua - 横向滑动页面演示(使用默认字体)
  3. win_vertical_slide.lua - 纵向滑动页面演示(使用默认字体)
  4. win_switch_page.lua - 页面切换演示(多页面导航,使用默认字体)

2.6 字体渲染演示

  1. win_hzfont.lua - 14 号固件内置矢量字体演示(HzFont)
  2. win_gtfont.lua - 外置矢量字体演示(GTFont,需要 AirFONTS_1000 配件板)

三、演示效果

组件样式
组件样式
输入法



下拉框
消息框


四 使用合宙 LuatOS-PC 模拟器仿真 exeasyui

4.1 PC 模拟器说明

  • 合宙 LuatOS-PC 模拟器是一个能在 win10/win11 上模拟运行 lua 脚本的仿真软件,内置 LuatOS 内核固件,运行.lua 脚本效果与实际设备类似;
  • 目前 PC 模拟器可以通过 LuaTools 工具的资源管理器进行下载,所以我们需要先下载安装 LuaTools 工具,然后再通过 LuaTools 工具来下载 LuatOS-PC 模拟器,最后通过 LuatOS-PC 模拟器运行 exeasyui 演示 demo;

4.2 LuatOS-PC 模拟器安装步骤

  1. 点击下载:Luatools v3 下载调试工具
  2. 通过 LuaTools 工具下载 LuatOS-PC 模拟器

    • LuaTools 工具安装完毕后,点击首页面左上角的--账户--打开资源下载
    • 选择-公共资源--LuatOS 的 PC 模拟器--选择最新版本 LuatOS-PC 模拟器--点击开始下载(非刷机)

4.3 下载底层固件和上层运行脚本

  1. 下载运行所需固件,点击资源管理--选择 Air780EHM 的 LuatOS 固件--下载最新版本的 1 号固件和 14 号固件
  2. 下载本演示 demo 内所有.lua 脚本文件、images 文件夹内的图片

4.4 使用 LuatOS-PC 模拟器仿真 运行 exeasyui 演示 demo

  1. 返回 Luatloos 工具首页,点击--项目管理测试

  1. 创建一个项目并命名

  1. 选择固件刚才下载的固件--点击打开,路径在 Luatools 目录下 resource\LuatOS_Air780EHM\LuatOS-SoC_VXXXX_Air780EHM

  1. 将下载的 demo 图片资源和.lua文件拖入到项目管理内的脚本和资源列表区域--勾选添加默认 lib--点击模拟器运行--出来的界面就是 demo 在实际设备上运行界面的仿真,可以用鼠标进行交互

  1. 如需切换 demo 内的演示内容,可打开下载脚本文件中的 mian.lua 文件,将需要演示 demo 的 require 前面--去掉,将不需要演示 demo 的 require 前面加上--。注释掉 require 的其他 demo 文件后,再点击模拟器运行,就会出现所 require 的 demo 对应的界面仿真。
    • 比如:需要演示下拉框组件,将-- require("win_combo_box") 改为 require("win_combo_box") ,并把其他加载的组件改为注释状态。

五、真实设备演示硬件环境

5.1 实际设备演示说明

  • 演示所使用的是 Air780EHM/Air780EHV/Air780EGH 核心板与 AirFONTS_1000 配件板
  • 使用 HZfont 需要使用 V2020 版本以上的 14 号固件,且 14 号固件仅支持 HZfont
  • 使用组件演示,demo 所使用的是 LuatOS-SoC_V2018_1 号固件
  • 使用其他型号模块可以参考 docs 文档中对应型号的固件支持功能进行固件选择,按管脚说明进行接线和配置 hw_font_drv.lua 中的参数,然后进行烧录使用

5.2 硬件清单

  • Air780EHM/Air780EHV/Air780EGH 核心板 × 1
  • AirLCD_1010 触摸配件板 × 1
  • GTFont 矢量字库,使用的是 AirFONTS_1000 配件板 × 1
  • 母对母杜邦线 × 17,杜邦线太长的话,会出现 spi 通信不稳定的现象;
  • TYPE-C 数据线 × 1
  • Air780EHM/Air780EHV/Air780EGH 核心板和 AirLCD_1010 配件板以及 AirFONTS_1000 配件板的硬件接线方式为

    • Air780EHM/Air780EHV/Air780EGH 核心板通过 TYPE-C USB 口供电(核心板正面开关拨到 ON 一端),此种供电方式下,VDD_EXT 引脚为 3.3V,可以直接给 AirLCD_1010 配件板和 AirFONTS_1000 配件板供电;
    • 为了演示方便,所以 Air780EHM/Air780EHV/Air780EGH 核心板上电后直接通过 VDD_EXT 引脚给 AirLCD_1010 配件板供电,通过3V3引脚给 AirFONTS_1000 配件板供电;
    • 客户在设计实际项目时,一般来说,需要通过一个 GPIO 来控制 LDO 给配件板供电,这样可以灵活地控制配件板的供电,可以使项目的整体功耗降到最低;

5.2 接线配置

5.2.1 显示屏接线

Air780EHM/Air780EHV/Air780EGH 核心板
AirLCD_1010配件板
53/LCD_CLK
SCLK/CLK
52/LCD_CS
CS
49/LCD_RST
RES/RST
50/LCD_SDA
SDA/MOS
51/LCD_RS
DC/RS
22/GPIO1
BLK
24/VDD_EXT
VCC
67/I2C1_SCL
SCL
66/I2C1_SDA
SDA
19/GPIO22
INT

5.2.2 GTFont 字库接线

Air780EHM/Air780EHV/Air780EGH 核心板
AirFONTS_1000配件板
83/SPI0_CS
CS
84/SPI0_MISO
MISO
85/SPI0_MOSI
MOSI
86/SPI0_CLK
CLK
3V3
VCC

5.3 接线图

六、演示软件环境

6.1 开发工具

6.2 内核固件

使用 HZfont 需要使用 V2020 版本以上的 14 号固件或114号固件,且 14 号固件或114号固件仅支持 HZfont

使用其他字体,demo 所使用的是 LuatOS-SoC_V2018 1 号固件

七、快速开始

7.1 硬件准备

  1. 按照硬件接线表连接所有设备
  2. 如使用 GTFont 演示,需要连接 AirFONTS_1000 配件板
  3. 通过 TYPE-C USB 口供电
  4. 检查所有接线无误

7.2 软件配置

main.lua 中选择要运行的演示模块:

-- 必须加载才能启用exeasyui的功能
ui = require("exeasyui")

-- 加载显示、触摸和字体驱动模块
hw_font_drv = require("hw_font_drv")

-- 引入演示模块
-- 使用哪个加载哪个,每次选择加载一个;
-- require("win_label") --动态更新标签演示
-- require("win_button")  --基础按钮组件演示
-- require("win_toggle_button")  --切换按钮演示
-- require("win_progress_bar")  --静态进度条演示
-- require("win_dyn_progress_bar")  --动态进度条演示
-- require("win_message_box")  --消息框组件演示
-- require("win_check_box")  --复选框组件演示
-- require("win_picture")  --静态图片显示演示
-- require("win_autoplay_picture")  --自动轮播图片演示
-- require("win_combo_box")  --下拉框组件演示
-- require("win_input")  --文本输入框演示
-- require("win_password_input")  --密码输入框演示
-- require("win_number_input")  --数字输入框演示
require("win_all_component")  --所有组件综合演示
-- require("win_horizontal_slide")  --横向滑动页面演示
-- require("win_vertical_slide")  --纵向滑动页面演示
-- require("win_switch_page")  --页面切换演示
-- require("win_hzfont")  --内置软件矢量字体演示
-- require("win_hzfont")  --外置硬件矢量字体演示

7.3 软件烧录步骤

  1. 使用 Luatools 烧录对应型号的最新内核固件
  2. 下载本项目所有脚本文件和图片文件
  3. 将演示图片文件(如 1.jpg2.jpg 等)同.lua脚本文件一起烧录到脚本分区
  4. 设备自动重启后开始运行选定的演示模块
  5. 点击查看Luatools 下载和详细使用

八、演示效果说明

8.1 组件功能特点

  • 响应式设计:所有组件支持触摸交互
  • 主题支持:支持浅色/深色主题切换
  • 滚动功能:支持横向和纵向滚动页面
  • 动态更新:支持实时数据更新显示
  • 事件处理:完整的触摸和点击事件处理

九、故障排除

9.1 常见问题及解决方案

  1. 显示异常

    • 检查 LCD 接线是否存在异常
    • 确认 hw_font_drv.lua 内屏幕型号及其参数配置是否正确
  2. 触摸无响应

    • 检查 I2C 接线是否存在异常
    • 确认确认 hw_font_drv.lua 内触摸芯片型号配置正确
  3. 字体显示异常

    • 确认选择的字体驱动与硬件匹配
    • 检查固件版本是否支持所选字体
  4. 图片无法显示

    • 确认图片文件已正确烧录
    • 检查文件路径和名称是否正确
  5. 系统运行缓慢

    • 检查是否有过多的组件同时渲染
    • 适当调整刷新间隔时间

9.2 调试技巧

  • 使用 log.info() 输出调试信息
  • 检查系统内存使用情况
  • 逐步启用组件排查问题

十、扩展开发

本演示 demo 所有接口都在 exeasyUI UI 扩展库内有详细说明,如需实现更丰富的自定义功能可按接口说明实现。