注意
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
文件中添加,这里教一下大概过程:
- 首先进入iconfont下载素材,例如搜索bilibili图标,然后添加入库
- 然后点击添加至项目(方便管理,方便后续再次添加icon),当然你如果icon少的画直接下载代码即可
- 然后进入你的项目,下载
将下载的压缩包的
iconfont.ttf
导入到assets
文件夹中,然后与上面添加字体一样,添加font
与创建字体font不同的是,iconfont不能打印,只能在
Range
中设置生成的范围,生成哪些icon
- 在组件中使用,需要把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主要是提供一个快速生成组件初始化的一些代码,直接复制然后更改一些即可。
首先