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

实战入门RT-Thread柿饼UI

[复制链接]
fillmoreand 发布时间:2018-11-29 10:56
先来介绍一下我们的柿饼UI吧
PersimmonUI是以C++编写的,是RT-Thread上一款现代化图形UI库。使用C++是因为GUI上的一系列控件以C++面向对象的方式来描述会更合理。Widget -> 部件,所以也就是一个个对象:
1.png
: Y. m0 [5 u5 E1 o, c) h
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
5 x: [, n  {/ E0 }1 N+ M- c0 ?
UI展现形式
窗口(Window)
页面(Page)
9 E8 I# B& x# o2 n0 a
开发方式
C/C++
UI设计器 + JavaScript
% X" q4 e0 Q  `: H
图片格式
BMP, PNG, JPG等
BMP,PNG,JPG等
$ O: G) _" |! \, M
字体
点阵字体,TTF字体
点阵字体,TTF字体
2 b3 W; }4 J5 h, W) g4 `5 x
画布
以绘图设备方式操作,功能有限
带Alpha,抗锯齿完整画布功能
: f; Y0 |5 A- M% ?
动画效果
用户编程实现
设计器携带动画效果选择
; B" S6 Y/ a) l$ ^
窗口/页面动画
用户编程实现
设计器选择切换动画效果

2 f2 g0 n. h' J2 u1 ^' O) q
执行方式
编译、烧写完整固件
USB下载设计资源
2 `, [, T/ {0 o7 `5 h' Z& J3 H0 H& X9 b3 b
交互方式
触摸,按键
触摸,按键
& V- c6 x8 M) V! M" W1 n' P
OTA 功能
用户自行实现
内置OTA升级功能

6 p9 P' h5 N: ^  e6 h( d& d! F$ ]* W
WDT 功能
用户自行实现
内置WDT功能

& A8 D! v9 Q. v3 n6 }4 B% E
串口操作
C/C++编程使用
JavaScript 串口操作

# P$ a5 }0 U4 {+ s5 i3 M% v1 N
文件系统
C/C++编程使用
JavaScript 文件操作

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

7 F6 t) q- \- G$ D7 ]' z: E

评分

参与人数 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,听说图形效果很不错的!
Stm32McuLover 回答时间:2018-11-29 20:53:35
开源吗
fillmoreand 回答时间:2018-12-3 16:49:56
哈佛祖安智 发表于 2018-11-29 20:53, n6 ^; s: A) r; ]% F" `
开源吗
2 N3 e) \/ a( S: [' A
引擎开源
LN 回答时间:2018-12-3 16:59:11
使用os实现的吗?1 A* F( }9 ?& o! D. ]
fillmoreand 回答时间:2018-12-3 18:03:45
HXM9531 发表于 2018-12-3 16:596 q: Q# k3 W" A
使用os实现的吗?
& x2 K6 l2 _3 l
嗯呐
访客1989 回答时间:2018-12-6 09:18:07
看看

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版