8.5 KiB
8.5 KiB
GuiLite(超轻量UI框架)- 最小的GUI库
GuiLite是什么鬼?
GuiLite是5千行的图形界面库,可以运行在所有平台(例如:iOS/macOS/WathOS,Android,Linux(ARM/x86-64),Windows(包含VR),Docker和MCU)上;也可以与多种语言(例如: Swift, Java, Javascript, C#, Golang)协同工作。
- ✂️轻量: 5千行C++代码,可合并在:1个头文件(GuiLite.h),1个实现文件(GuiLite.cpp)中 - 轻松编译/移植
- ⚡超快: 一次调用就可以完成图形渲染,与操作系统及第三方库无关 - 程序更快速,UI更流畅
- 💉可注入: 可注入在Qt/MFC/Winform/Cocoa/Web程序中运行 - 充分利用现有Qt/MFC代码,局部GuiLite优化,亦可显著提升效率
- ⚙️️最低硬件要求:
Processor | Disk/ROM space | Memory |
---|---|---|
24 MHZ | 29 KB | 9 KB |
🔥新功能:苹果手表
GuiLite程序,可以同时运行在单片机和苹果“手表”上:
MCU | Apple Watch |
---|---|
✨功能介绍
⚔️卓越的跨平台能力
ARM Linux | STM32 Without OS |
---|---|
Windows Mixed Reality | Android |
---|---|
macOS | iOS & Apple Watch |
---|---|
🔍GuiLite Previewer(所见即所得的GuiLite开发插件)
GuiLite Previewer是一个Visual Studio Code插件,它可以自动提取源代码的GUI布局信息,并实时显示在“预览”页面上(所见即所得)
😎浮夸的UI效果
🔣万国语(unicode):
🌐IoT(物联网)和📊数据分析
🐋支持Docker
我们把GuiLite demo做成了Docker映像,只需一行命令,就可以将最新的GuiLite demo升级/部署/运行在你的设备上了。
sudo docker run -it --privileged -v /dev:/dev-share idea4good/gui-lite:latest bash /run.sh
📦3D
- GuiLite实例(HelloParticle, HelloWave)运行在Web及3D环境,代码在这里
- 在单片机上也能运行3D效果(具体参看GuiLiteSamples:Hello3D)
🚀快速上手
GuiLite只是一个框架,本身并不能生成UI。为了能够展示如何用GuiLite开发App,我们提供了一些实例程序给大家参考。
- 实例程序的代码在这里
- 实例程序的功能说明:
实例名称 | 支持的平台 | 功能简介 | 编译方法 | 难度 |
---|---|---|---|---|
HelloParticle | Windows, Linux, STM32F103, STM32F429 | 粒子效果的应用 | 编译/运行 | ★ |
HelloStar | Windows, Linux, STM32F103, STM32F429 | 星空效果的应用 | 编译/运行 | ★ |
Hello3D | Windows, Linux, STM32F103 | 基于GuiLite的超轻量(单片机级别)3D引擎 | Build | ★★ |
HelloNets | Windows, Linux, STM32F103 | 3D物理过程的应用 | Build | ★★ |
HelloGuiLite | Windows, Linux | 初始化GuiLite,加载资源,布局界面元素,按钮响应 | 编译/运行 | ★★ |
HelloWidgets | Windows, Linux | 用于演示基本控件的使用方法 | 编译/运行 | ★★ |
HelloMario | Windows, Linux, STM32F103, STM32F429 | 多图层的UI系统 | 编译/运行 | ★★ |
HelloNoTouch | Windows, Linux, STM32F103, STM32F429 | 用于非触摸屏场景,通过硬按键进行UI“导航” | 编译/运行 | ★★ |
HelloFont | Windows, Linux | 显示多种语言(不限:中、英文) | 编译/运行 | ★★ |
HelloAnimation | Windows, Linux | 动画的应用 | 编译/运行 | ★★ |
HelloSlide | Windows, Linux | 滑屏界面的应用 | 编译/运行 | ★★★ |
HelloWave | Windows, Linux, STM32F103, STM32F429 | 波形控件的应用,及单片机移植办法 | 编译/运行 | ★★★ |
HostMonitor | iOS, Mac, Android, Windows, Linux | 创建复杂界面,扩展自定义控件,适配全平台 | 编译/运行 | ★★★★ |
📚开发文档
GuiLite是最简单,易学的GUI库。
- 只有5千行C++代码
- 只使用C++的基本特性(类和虚函数),不涉及复杂语法
- 图形绘制以描点为基础,不使用任何算法
- 设计简单,配有丰富的文档和实例程序;遇到问题,可以在QQ群获得帮助
📈学习方法
- 外围 - 成功编译GuiLite库
- 前戏 - 成功运行HelloXXX实例程序
- 交流 - 研读/修改100+行的
HelloXXX/UIcode/UIcode.cpp
源代码 - 深交 - 研读
gui
目录下的代码 - 攻核 - 研读
core
目录下的代码 - 分家 - 丰富,扩展自己的UI功能