Skip to content

注意

SquareLine进行UI设计,跟LVGL是强相关的,一些知识需要提前掌握,例如LVGL的对象特性等等...

1. 软件介绍

SquareLine Studio是一款可以帮助设计师和开发人员快速高效地创建和导出 UI 的软件,支持 C 语言和 Python 语言。

对于个人用户,是免费的,不过限制了单个工程组件使用个数和页面个数(不够你就直接多创几个工程呗~)

2. 工程创建

首先进入软件,example这些官方给的例子,大家课下可以自行去玩一下学习一下,可以跟着官方example学~

这里我们选择creat创建空白工程,教一下一些基本操作。

进入工程主页面如下:

3. 组件使用

3.1 如何添加组件

button组件为例,将button拖入屏幕中,右侧inspect选型可以设置组件的各种参数,例如颜色、位置、大小等等,可以自行更改试一下,与LVGL代码是强相关的,需要熟悉LVGL框架

组件的层次结构也可以在Hierarch中看到,父对象子对象等等,你可以自由拖动组件的层次结构,设定xx组件到xx组件内作为子对象。

3.2 如何加入图片素材

把需要的图片复制到工程文件夹的assets文件夹中即可,然后就可以吧图片组件拖到想要的父对象上了,例如screen或者panel等。

3.3 如何加入字体

首先下载一个你喜欢的字体.ttf格式的,当然其他格式也可以,我这里以中易黑体simhei.ttf为例,将文件放到assets文件夹,正常就会出现素材了

接着用这个素材创建字体,font name是字体名,你可以定义为名字+字体大小的这种命名格式,方便你管理;font size为字体大小;bpp为像素位数,越大越清晰但空间占用更大;Range为生成的字体的ascii范围,与Symbol一样,Symbol中可以输入你要用的字体。设置完点击create就能生成字体了,同时会生成.c文件。

然后在组件中使用这个字体就可以了:

3.4 如何加入图标字体素材

什么是图标字体?字体图标是一种特殊字体,借助字体图标,我们可以如同操作文字一样操作字体图标,空间占用小,但是缺点就是只能是单色。

同样也是在工程文件夹的assets文件中添加,这里教一下大概过程:

  1. 首先进入iconfont下载素材,例如搜索bilibili图标,然后添加入库

  1. 然后点击添加至项目(方便管理,方便后续再次添加icon),当然你如果icon少的画直接下载代码即可

  1. 然后进入你的项目,下载

  1. 将下载的压缩包的iconfont.ttf导入到assets文件夹中,然后与上面添加字体一样,添加font

  2. 与创建字体font不同的是,iconfont不能打印,只能在Range中设置生成的范围,生成哪些icon

  1. 在组件中使用,需要把icon对应的unicode转换为字符,然后复制到text中。unicode转换网站链接

4. 事件与回调函数(不推荐)

在SquareLine中也能设置事件和回调函数,例如button按下的事件,触发相关函数,但是不推荐,因为导出的相关代码的比较乱,建议自己按照LVGL的手册写。最好只SquareLine生成一些组件的创建和初始化的代码。

我们来试一下给button按下加入一个事件吧,即按下button就让slider的数值加10

首先创建slider,然后选中button,添加事件为按下事件,回调函数为增加slider的值

然后点击运行,点击button即可让slider的值增加了~

5. 在SquareLine中运行

点击右上角运行键即可运行~

6. 导出代码

设置导出路径

点击导出export ui file即可

7. 导入关键代码进仿真

移植代码部分,就需要对LVGL有一定的了解了,SquareLine主要是提供一个快速生成组件初始化的一些代码,直接复制然后更改一些即可。

首先