- TUI是一款小巧精致的GUI,采用纯C语言编写,可以用于HMI、智能家居、工业控制、教育类学习机、广告机、游戏机等应用场景。
- TUI作为嵌入式GUI,致力于软件跨平台的开发,不同平台间代码满足99%的兼容性,目前tui_project支持Windows、Melis嵌入式平台,后续会增加更多平台。
- TUI内核不单单包含GUI相关的功能和丰富控件,里面还实现了消息机制、定时器、多国语言、图片(jpg、bmp、png、gif)、声音(wav、mp3)、各种资源的压缩打包最后映射成
V盘。 - TUI内核还包含gb2312和utf8的编码转换、跨平台串口封装接口,时间、中文输入法、665KB的中文矢量字体、动画等。
- TUI内核扩展特性包括:复杂组件、
.xls表格文件的读取、.xlsx表格文件的创建、TTS中文语音合成播报、.jpg文件解码、JSON文件解析等。 - TUI提供了上位机uistudio工具,通过工具可以实现界面的可视化编辑,整个界面视图的UI开发,类似搭积木的拖拽控件,并且实现了视图、资源和逻辑的分离。
- TUI提供的上位机uistudio工具,还支持工程逆向,通过UStudio.Rever可以修改
res.disk,方便不懂编程的人员,替换图片和更改坐标,完成固件修改。 - TUI的设计非常严谨,可以把它看成一个非常独立的模块,TUI整个生命周期有三步,初始化函数( tui_start_init() )、运行函数( tui_run_loop() )、销毁函数( tui_end_uninit() )三个函数控制,里面有完整地debug调试函数( tui_dbg_core_information_dump() 导出所有内核资源信息 ),退出的时候不会有内存泄漏和异常问题。
- 📁“apps” 文件夹,里面存放了用户的逻辑代码,其中每个app里面的view视图代码是uistudio工具自动生成。
- 📁“includes” 文件夹,里面存放了TUI所有接口函数头文件“查看相关详细说明”。
- 📁“platform” 文件夹,里面存放各个OS系统平台的工程编译入口文件夹(melis、vc++)。
- 📁“component” 文件夹,里面保护开源的组件代码,都是TUI内核函数和基础控件实现的组件。(可选)
- 📁“res” 文件夹,里面存放app开发的资源字体、图片、多国语言、视图布局结构、声音等其它应用资源。
- 📁“uistudio” 文件夹,里面存放所见即所得工具所需要的工程文件。
- 👜“res.disk” 镜像包,该文件是uistudio工具,把res里面的资源处理后打包制作成一个镜像资源文件。
最后被映射到tui内核里面,成为一个V:盘符。
由于不是专业美工、开发时间有限,应用里面的所有图片均来自互联网,没有经过特殊处理(不用于商业用途),图片稍加利用,来实现TUI的接口功能。
下面我们对每个app做个简单的介绍,然后结合tui.h里面的接口,做相关说明。
主界面应用例子展示
- 跳转到弧形应用的目录查看“./apps/arc_app0”
- 跳转到按钮应用的目录查看“./apps/button_app1”
- 跳转到直线应用的目录查看“./apps/line_app2”
- 跳转到滑条应用的目录查看“./apps/bar_app3”
- 跳转到动画应用的目录查看“./apps/animation_app4”
- 跳转到表盘应用的目录查看“./apps/dashboard_app5”
- 跳转到窗口应用的目录查看“./apps/window_app6”
- 跳转到串口应用的目录查看“./apps/uart_app7”
- 跳转到页容器应用的目录查看“./apps/page_app8”
- 跳转到画板应用的目录查看“./apps/draw_app9”
- 跳转到设置应用的目录查看“./apps/setting_app10”
- 跳转到登陆应用的目录查看“./apps/logon_app11”
