Skip to content

✨ TUI是一套精简的可视化GUI系统,通过C语言编写的跨平台嵌入式GUI,目前支持WINDOWS、MELIS平台,后续还会支持更多芯片平台。该工程是对TUI API接口和工具的使用教程。

Notifications You must be signed in to change notification settings

TUISYS/tui_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TUI是一套人机交互的GUI系统

TUI特性:

  • TUI是一款小巧精致的GUI,采用纯C语言编写,可以用于HMI、智能家居、工业控制、教育类学习机、广告机、游戏机等应用场景。
  • TUI作为嵌入式GUI,致力于软件跨平台的开发,不同平台间代码满足99%的兼容性,目前tui_project支持系统如下:
    Windows系统;
    Linux系统;
    allwinner全志系列芯片支持,如全志Tina系统全志Melis4系统全志Melis2系统嵌入式平台。
  • TUI内核不单单包含GUI相关的功能和丰富控件,里面还实现了消息机制、定时器、多国语言、图片(jpg、bmp、png、gif、svg矢量图)、声音(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() )三个函数控制,TUI提供界面DEBUG显示和debug调试函数( tui_dbg_core_information_dump() 导出所有内核资源信息 ),退出的时候不会有内存泄漏和异常问题。
  • TUI支持自动化测试,在PC端记录轨迹坐标,保存文件后,可以通过 tui_pointer_run_auto_test() 函数自动循环执行

结构目录:

  • 📁“apps”    文件夹,里面存放了用户的逻辑代码,代码兼容各个系统平台。其中每个app里面的view视图代码是uistudio工具自动生成。
  • 📁“includes” 文件夹,里面存放了TUI所有接口函数头文件“查看相关详细说明”
  • 📁“platform” 文件夹,里面存放各个OS系统平台的工程编译入口文件夹(melis、vc++、tina、linux)。
  • 📁“component” 文件夹,里面存放开源的组件代码,都是TUI内核函数和基础控件实现的组件。(可选)
  • 📁“res”      文件夹被uistudio使用,里面存放app开发的资源字体、图片、多国语言、视图布局结构、声音等其它应用资源。
  • 📁“uistudio”  文件夹里面存放所见即所得工具所需要的工程文件。
  • 👜“res.disk”  镜像包,该文件是uistudio工具,把res里面的资源处理后打包制作成一个镜像资源文件
    最后被映射到tui内核里面,成为一个V:盘符,应用在加载资源的时候需要用到。

应用APP介绍:

由于不是专业美工、开发时间有限,应用里面的所有图片均来自互联网,没有经过特殊处理(不用于商业用途),图片稍加利用,来实现TUI的接口功能。
下面我们对每个app做个简单的介绍,然后结合tui.h里面的接口,做相关说明。

主界面应用例子展示

弧形应用(arc_app0)

按钮应用(button_app1)

直线应用(line_app2)

滑条应用(bar_app3)

动画应用(animation_app4)

表盘应用(dashboard_app5)

窗口应用(window_app6)

串口应用(uart_app7)

页容器应用(page_app8)

画板应用(draw_app9)

设置应用(setting_app10)

登陆应用(logon_app11)

About

✨ TUI是一套精简的可视化GUI系统,通过C语言编写的跨平台嵌入式GUI,目前支持WINDOWS、MELIS平台,后续还会支持更多芯片平台。该工程是对TUI API接口和工具的使用教程。

Resources

Stars

Watchers

Forks

Packages

No packages published