【LVGL学习手札】(1)VSCode+GuiGuider搞定UI设计与调试

文章介绍了如何使用LVGL图形库配合GuiGuider在VSCode环境下进行UI设计与调试。通过GuiGuider的拖拽式编辑器创建UI,然后在VSCode中配置CMakeList文件,实现与GuiGuider的结合,从而进行代码调试。作者提供了环境准备、开发流程及步骤,包括创建UI工程、编写事务代码、调试和移植到目标平台的过程。此外,还提供了一个简单的按钮计数器例子来展示使用方法。

Alt

LVGL学习手札

(1)VSCode+GuiGuider搞定UI设计与调试

笔者:Coolouba Alt

根植开源,学无止境

1、引子

LVGLLight and Versatile Graphics Library

LVGL is the most popular free and open-source embedded graphics library to create beautiful UIs for any MCU, MPU and display type.

LVGL是最受欢迎的免费开源嵌入式图形库,可为任何MCU、MPU和显示器类型创建漂亮的UI。

GuiGuider

GUI Guider是恩智浦提供的用户友好型图形用户界面开发工具,可通过开源LVGL图形库快速开发高品质的显示。GUI Guider的拖放编辑器可以轻松利用LVGL的众多特性,如小部件、动画和样式来创建GUI,而只需少量代码或根本无需任何代码。

在这里插入图片描述

VSCode

大名鼎鼎,无需多言。

在这里插入图片描述

通过GuiGuider可以很方便的进行拖拽式UI设计,工程架构主要包括了界面代码(generated文件夹)和事务代码(custom文件夹),移植到最后的目标平台非常方便,是LVGL辅助开发利器。
GuiGuider自带模拟器,可以脱离目标平台完成先期开发工作,提高效率;然而并 未集成调试功能 ,事务代码开发调试困难。
还好,LVGL官方支持VSCode下的仿真环境,经过一小番折腾,配置好了CMakeList文件,顺利将GuiGuider与VSCode结合,实现UI设计与仿真调试。笔者完成的工作只是将GuiGuider和VSCode结合,方便UI设计与事务代码调试穿插迭代。
当然,LVGL在PC端的仿真环境包括多种,理论上均可实现类似需求(也有可能有大佬已经用上了更便捷的方法),不中意VSCode的同学也可参考笔者的思路尝试匹配自己喜欢IDE:

LVGL Simulator on PC

  • Eclipse with SDL driver: Recommended on Linux and Mac
  • CodeBlocks: Recommended on Windows
  • VisualStudio: with SDL driver: For Windows
  • VSCode with SDL driver: Recommended on Linux and Mac
  • PlatformIO with SDL driver: Recommended on Linux and Mac

2、环境准备

VSCode

安装VSCode软件,参考Windows环境下模拟LittlevGL,配置好LVGL在VSCode下的运行环境

笔者验证时使用版本

  • VSCode: 1.77.3
  • GCC: 12.2.8
GuiGuider

下载并安装GuiGuider

笔者验证时使用版本:1.5.1-GA

LVGL_GuiGuider_V8_SimEnv

下载并解压LVGL_GuiGuider_V8_VSCodeSimEnv

3、开发流程及使用步骤

开发流程主要包括三个部分:创建可调试UI工程、事务代码调试、迭代,大抵如下:

### UI调试工具和方法 在UI调试领域,开发者可以使用多种工具和方法来确保用户界面的功能性和视觉效果达到预期。以下是一些常用的工具和方法: #### 1. Godot引擎中的UI调试 Godot引擎提供了内置的调试器,用于检测和修复UI相关的问题。通过Godot调试器,开发者可以实时查看节点结构、调整控件属性以及检查布局问题[^1]。例如,可以通过场景树(Scene Tree)直接观察UI元素的层级关系,并利用“Remote Scene”功能连接到运行中的项目以进行动态调试。 #### 2. iOS视图调试 对于iOS开发,Xcode集成了强大的视图调试功能。启动视图调试的方法有两种:一种是从菜单中选择`Debug | View Debugging | Capture View Hierarchy`;另一种是在运行应用程序时,按下调试窗口底部的“Debug View Hierarchy”按钮[^2]。这两种方式都可以生成当前界面的3D视图层次结构,便于开发者分析和解决问题。 #### 3. 第三方工具Reveal Reveal是一款专为iOS和macOS应用设计UI调试工具。它允许开发者在运行时查看和修改应用的视图层次结构。此外,还可以通过命令行启动Reveal调试会话,具体命令如下: ```bash expr (void)[(NSNotificationCenter*)[NSNotificationCenter defaultCenter] postNotificationName:@"IBARevealRequestStart" object:nil] ``` 这将触发Reveal目标设备或模拟器之间的连接[^3]。 #### 4. 其他通用技巧 - **日志记录**:在关键位置添加详细的日志输出,帮助定位问题。 - **断点调试**:结合IDE的断点功能,逐步执行代码以观察变量状态变化。 - **性能分析**:使用性能分析工具(如 Instruments)评估UI渲染效率,发现潜在的卡顿或内存泄漏问题。 ```python # 示例:Python脚本中插入日志 import logging logging.basicConfig(level=logging.DEBUG) logging.debug("This is a debug message") ```
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值