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

实战入门RT-Thread柿饼UI

[复制链接]
fillmoreand 发布时间:2018-11-29 10:56
先来介绍一下我们的柿饼UI吧
PersimmonUI是以C++编写的,是RT-Thread上一款现代化图形UI库。使用C++是因为GUI上的一系列控件以C++面向对象的方式来描述会更合理。Widget -> 部件,所以也就是一个个对象:
1.png
- o+ Z% |, j# U+ q7 |
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

( M9 K- B. c& F* u9 {* F5 I: H
UI展现形式
窗口(Window)
页面(Page)

" h; ~1 l; b' S5 r+ `
开发方式
C/C++
UI设计器 + JavaScript

, {' S; S3 m; n3 _/ e
图片格式
BMP, PNG, JPG等
BMP,PNG,JPG等
6 g) q8 S, c$ S7 y+ P6 }
字体
点阵字体,TTF字体
点阵字体,TTF字体

0 W/ S# b& Y4 N8 C" h4 ?
画布
以绘图设备方式操作,功能有限
带Alpha,抗锯齿完整画布功能
9 L6 x2 [1 D! p; F+ S+ w
动画效果
用户编程实现
设计器携带动画效果选择

5 x0 [4 x2 R+ h
窗口/页面动画
用户编程实现
设计器选择切换动画效果
! j* Y3 M8 s' i3 K8 f. x1 K1 e
执行方式
编译、烧写完整固件
USB下载设计资源
3 m8 C+ G. [' N6 y# L" e
交互方式
触摸,按键
触摸,按键
' Q4 Y7 e( u2 t9 Q6 `
OTA 功能
用户自行实现
内置OTA升级功能
: |  _" T6 v% N7 l8 c" C* Q
WDT 功能
用户自行实现
内置WDT功能

, d0 n7 ]; r2 N
串口操作
C/C++编程使用
JavaScript 串口操作

( E& M. n1 p+ B0 R
文件系统
C/C++编程使用
JavaScript 文件操作

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

/ t# W7 _$ k! R, l  F  |; O1 A; S
4 |4 z& @; H- t3 {) ^: f- F' ~

评分

参与人数 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:533 n0 U6 E6 j8 w2 p8 a0 ~
开源吗
5 s3 ^8 `& N. M: B
引擎开源
LN 回答时间:2018-12-3 16:59:11
使用os实现的吗?: X% n( K' i. i( [
fillmoreand 回答时间:2018-12-3 18:03:45
HXM9531 发表于 2018-12-3 16:59
, F' n5 H5 O) q9 i1 J. u使用os实现的吗?
; N) b+ Q+ M/ ]; K
嗯呐
访客1989 回答时间:2018-12-6 09:18:07
看看

所属标签

相似分享

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