7.8 KiB
7.8 KiB
GuiLite(超轻量UI框架)- 最小的GUI库
GuiLite是什么鬼?
GuiLite是5千行的C++图形界面库,可以运行在所有平台(例如:iOS,Android,Linux(ARM/x86-64),Windows(包含VR),Mac,Docker和MCU)上;也可以与多种语言(例如: Swift, Java, Javascript, C#, Golang)协同工作。
- ✂️轻量: 只有5千行代码,与操作系统及第三方库无关 - 轻松编译/运行
- ⚡超快: 一次调用就可以完成图形渲染 - 程序更快速,UI更流畅
- 🧷可嵌入: 可嵌入在Qt/MFC/Winform/Cocoa/Web程序中运行 - 充分利用现有Qt/MFC代码,局部GuiLite优化,亦可显著提升效率
- ⚙️️最低硬件要求:
Processor | Disk/ROM space | Memory |
---|---|---|
24 MHZ | 29 KB | 9 KB |
🔥新功能:3D化GuiLite实例
- GuiLite实例(HelloParticle, HelloWave)运行在Web及3D环境
- 源代码链接
功能介绍
卓越的跨平台能力
ARM Linux | STM32 Without OS |
---|---|
Windows Mixed Reality | Android |
---|---|
macOS | iOS |
---|---|
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
快速上手
GuiLite只是一个框架,本身并不能生成UI。为了能够展示如何用GuiLite开发App,我们提供了一些实例程序给大家参考。
- 实例程序的代码在这里。
- 实例程序的功能说明:
实例名称 | 支持的平台 | 功能简介 | 编译方法 | 难度 |
---|---|---|---|---|
HelloParticle | Windows, Linux, STM32F103, STM32F429 | 粒子效果的应用 | 编译/运行 | ★ |
HelloStar | Windows, Linux, STM32F103, STM32F429 | 星空效果的应用 | 编译/运行 | ★ |
Hello3D | 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功能
视频链接:
镜像代码仓库
致谢和慈善
- 感谢开发者群的所有同学,是你们塑造了今天的GuiLite!也欢迎新的大神/小白加入我们。
- 赞助 & 救助大病儿童