7.4 KiB
7.4 KiB
GuiLite(超轻量UI框架) - 最轻量/最易懂/最稳定的GUI库
GuiLite是什么鬼?
- GuiLite是5千行代码的全平台UI框架,可以完美运行在: iOS,Android,Linux(ARM/x86-64),Windows(包含VR),Mac,Docker和有(无)操作系统的MCU上。
- GuiLite可以嵌入在iOS、Android、MFC、QT等其他UI系统中,让你的界面集百家之长,又不失个性。
- GuiLite与操作系统及第三方图形库无关,甚至也可以运行在无OS的单片机环境。
- GuiLite鼓励混合编程,开发者可以用GuiLite接管UI部分,用Swift,Java,Golang,C#,Python开发业务部分。
- 🔧不鼓励大家全盘接受GuiLite,更愿意大家自主定制GuiLite
- ⚙️希望GuiLite小到足够帮助大家掌握UI工作原理,从而摆脱UI框架的束缚,构建自己独一无二的UI
- 👑任何UI框架都不为你我而生,你才是自己真正的主人
🔥新功能:GuiLite Previewer(所见即所得的GuiLite开发插件)
- GuiLite Previewer是一个Visual Studio Code插件,它可以自动提取源代码的GUI布局信息,并实时显示在“预览”页面上(所见即所得)
- 不需要“拖拽”控件,仅通过敲代码,就可以完成所有工作(例如:代码,UI编辑,编译,运行,调试)
- 不需要使用庞大的GUI编辑工具(或IDE,例如:Android Studio, Qt designer)
- 不需要使用可扩展标记语言(例如:xml, xaml)
功能介绍
卓越的跨平台能力
ARM Linux | STM32 Without OS |
---|---|
Windows Mixed Reality | Android |
---|---|
macOS | iOS |
---|---|
支持Docker容器
我们把GuiLite demo做成了Docker映像,只需一行命令,就可以将最新的GuiLite demo升级/部署/运行在你的设备上了。
sudo docker run -it --privileged -v /dev:/dev-share idea4good/gui-lite:latest bash /run.sh
易于定制界面
万国语(unicode):
“换肤”功能
IoT(物联网)功能
快速上手
GuiLite只是一个框架,本身并不能生成UI。为了能够展示如何用GuiLite开发App,我们提供了一些实例程序给大家参考。
- 实例程序的代码在这里。
- 实例程序的功能说明:
实例名称 | 支持的平台 | 功能简介 | 编译方法 | 难度 |
---|---|---|---|---|
HelloParticle | Windows, Linux, STM32F103, STM32F429 | 粒子效果的应用 | 编译/运行 | ★ |
HelloStar | Windows, Linux, STM32F103, STM32F429 | 星空效果的应用 | 编译/运行 | ★ |
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功能