你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

实战入门RT-Thread柿饼UI

[复制链接]
fillmoreand 发布时间:2018-11-29 10:56
先来介绍一下我们的柿饼UI吧
PersimmonUI是以C++编写的,是RT-Thread上一款现代化图形UI库。使用C++是因为GUI上的一系列控件以C++面向对象的方式来描述会更合理。Widget -> 部件,所以也就是一个个对象:
1.png
Widget
例如一个button,一个label,一个image。每个对象有他们自己的属性,方法等。
当然C++也会带来一些问题,例如原来C中可以任意使用函数指针,但在C++中却并不能随意单独使用类的方法(而需要在类的实例化对象环境中使用其成员方法)。所以这种也诞生了Qt方式的signal/slot模式。因为Qt的起始年代非常久远(Qt诞生于1995年),那个时候一些C++标准并不那么完备,所以QT signal/slot机制是以独立的,额外的moc编译器方式,生成新的C++代码来辅助完成。而PersimmonUI则使用了现代化一些的C++机制,也完成了类似signal/slot机制。
那么PersimmonUI signal/slot机制就是极限了吗?所以也就引出了本系列教程的主角,PersimM。
PersimM本意指的是PersimmonUI Module,即PersimmonUI的模块,甚至有的时候指的是运行PersimmonUI的硬件模块。因为它最初一个定义就是:基于Persim M硬件模块,用户可以非常方便、易用地进行自己的定制开发。
以下是一份PersimmonUI 和 PersimM的对比列表
功能
PersimmonUI
PersimM

UI展现形式
窗口(Window)
页面(Page)

开发方式
C/C++
UI设计器 + JavaScript

图片格式
BMP, PNG, JPG等
BMP,PNG,JPG等

字体
点阵字体,TTF字体
点阵字体,TTF字体

画布
以绘图设备方式操作,功能有限
带Alpha,抗锯齿完整画布功能

动画效果
用户编程实现
设计器携带动画效果选择

窗口/页面动画
用户编程实现
设计器选择切换动画效果

执行方式
编译、烧写完整固件
USB下载设计资源

交互方式
触摸,按键
触摸,按键

OTA 功能
用户自行实现
内置OTA升级功能

WDT 功能
用户自行实现
内置WDT功能

串口操作
C/C++编程使用
JavaScript 串口操作

文件系统
C/C++编程使用
JavaScript 文件操作

网络操作
socket套接字
提供http、MQTT客户端接口
从上面对比表格,可以非常清晰的发现,PersimM和传统模式已经有一些不一样,主要体现在:
  • 有UI设计工具,用于界面设计;
  • 编程方式不再是传统的C/C++模式,而是可以简单上手的JavaScript模式,美工+前端模式;
  • 整体是一体化的东西,例如OTA、WDT等这些功能都默认内置。


评分

参与人数 1 ST金币 +20 收起 理由
STMCU + 20

查看全部评分

收藏 评论7 发布时间:2018-11-29 10:56

举报

7个回答
shanji 回答时间:2018-11-29 14:23:15
面向哪个平台的?
beyondimmaginat 回答时间:2018-11-29 17:04:56
应该是RT-Thread OS上的一款GUI,听说图形效果很不错的!
哈佛祖安智 回答时间:2018-11-29 20:53:35
开源吗
fillmoreand 回答时间:2018-12-3 16:49:56
HXM9531 回答时间:2018-12-3 16:59:11
使用os实现的吗?
fillmoreand 回答时间:2018-12-3 18:03:45
HXM9531 发表于 2018-12-3 16:59
使用os实现的吗?

嗯呐
访客1989 回答时间:2018-12-6 09:18:07
看看

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版