SquareLine Studio做为LVGL官方推出的PC端开发工具,采用所见即所得的开发方式,大大减少了敲代码方式开发UI的时间,最早的名字是EdgeLine。
1 SquareLine下载安装
下载地址:https://squareline.io/downloads
根据自己的系统下载相应的软件包。
SquareLine Studio如果商用需要购买License,费用如下:
根据自己的需求购买吧,笔者这里使用免费的。
下载最新的SquareLine Studio 1.4.2版本,我是在Windows系统下开发,所以选择第一个Windows版本下载,下载完成后直接安装。
登录成功可以选择一个Example打开运行一下。
我这里选择第三个demo。
接下来可以导出工程。左上角File->Project Settings设置文件输出格式及保存的位置。
单栏Export->Export File选择导出文件的格式。
提示“Export Succeed”表示导出成功,找到对应的文件夹。以下即为导出的.c和.h文件。
2 SquareLine创建工程与移植
2.1 创建工程
打开SquareLine Studio,点击Creat,选择Desktop,右下角根据显示屏分辨率以及Bit数,填写好参数,点击右下角CREAT,创建工程。
在Screen中添加一个Label控件,编辑Label的字体颜色以及字体大小。
在Screen中添加完后控件后,可点击play按钮。
点击Export->Export File,导出UI文件,包括UI Layout的.c和.h文件,以及PNG图片编码后的.c文件。
2.2 移植UI文件到D133CBS
找到一个一直好LVGL的工程,新建UI文件件,将上面生成的.c和.h文件添加到文件夹中。值得注意的是,D133CBS的SDK的LVGL使用的版本是v8.3.1,因此使用SquareLine Studio导数UI需要切换到v8.3.x的版本。
然后将导出文件放入目录。
同时新建文件SConscript,文件内容如下:
from building import *
import os
cwd = GetCurrentDir()
group = []
src = []
CPPPATH = [cwd]
if GetDepend(['AIC_CHIP_D13X']) or GetDepend(['AIC_CHIP_G73X']):
src += Glob('./*.c')
list = os.listdir(cwd)
for d in list:
path = os.path.join(cwd, d)
if os.path.isfile(os.path.join(path, 'SConscript')):
group = group + SConscript(os.path.join(d, 'SConscript'))
group = group + DefineGroup('LVGL-port', src, depend = ['AIC_LVGL_USER_PROJECT'], CPPPATH = CPPPATH)
Return('group')
在application/Kconfig中增加配置。
然后使用scons --menuconfig配置。
然后保存退出。
再将ui.c中的ui_init()函数在aic_ui_init函数中调用即可。
最后编译工程。
烧写后现象如下。