GuiLite/README_zh.md
idea4good 79ec69420f !21 add guilite cube
* add GuiLite cube
* rename fb.rect to fb.visible_rect
2019-07-18 18:03:49 +08:00

7.6 KiB
Raw Blame History

Image

GuiLite超轻量UI框架 - 最小的GUI库

badge_build badge_docker badge_platform badge_lincense badge_lincense


GuiLite是什么鬼

  • GuiLite是5千行代码的全平台UI框架,可以完美运行在: iOSAndroidLinuxARM/x86-64Windows包含VRMacDocker和有(无)操作系统的MCU上。
  • GuiLite可以嵌入在iOS、Android、MFC、QT等其他UI系统中让你的界面集百家之长又不失个性。
  • GuiLite与操作系统及第三方图形库无关甚至也可以运行在无OS的单片机环境。
  • GuiLite鼓励混合编程开发者可以用GuiLite接管UI部分用SwiftJavaGolangC#Python开发业务部分。
  • 🔧不鼓励大家全盘接受GuiLite更愿意大家自主定制GuiLite
  • ⚙️希望GuiLite小到足够帮助大家掌握UI工作原理从而摆脱UI框架的束缚构建自己独一无二的UI
  • 👑任何UI框架都不为你我而生你才是自己真正的主人

🔥新功能3D

Hello3D-pcHello3D-mcu

Hello 3D 仅有100多行代码用于向初学者展示如何使用GuiLite模拟3D物理过程。该实例可支持WindowsLinux及单片机平台。

功能介绍

卓越的跨平台能力

ARM Linux STM32 Without OS
ARM Linux MCU MCU
Windows Mixed Reality Android
Win MR Android
macOS iOS
macOS iOS

GuiLite Previewer(所见即所得的GuiLite开发插件)

GuiLite Previewer是一个Visual Studio Code插件它可以自动提取源代码的GUI布局信息并实时显示在“预览”页面上(所见即所得) GuiLitePreviewer


支持Docker容器

我们把GuiLite demo做成了Docker映像只需一行命令就可以将最新的GuiLite demo升级/部署/运行在你的设备上了。

  • sudo docker run -it --privileged -v /dev:/dev-share idea4good/gui-lite:latest bash /run.sh

易于定制界面

wallpaper


万国语(unicode)

unicode


“换肤”功能

multi-theme


IoT物联网功能

  • 上报“编译/运行”情况至“云端”:
    BuildInfo
  • 同步“运行数据”至“云端”:
    DataOnCloud

快速上手

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库。

  1. 只有5千行C++代码
  2. 只使用C++的基本特性(类和虚函数),不涉及复杂语法
  3. 图形绘制以描点为基础,不使用任何算法
  4. 设计简单配有丰富的文档和实例程序遇到问题可以在QQ群获得帮助

学习方法

  1. 外围 - 成功编译GuiLite库
  2. 前戏 - 成功运行HelloXXX实例程序
  3. 交流 - 研读/修改100+行的HelloXXX/UIcode/UIcode.cpp源代码
  4. 深交 - 研读gui目录下的代码
  5. 攻核 - 研读core目录下的代码
  6. 分家 - 丰富扩展自己的UI功能

视频链接:

镜像代码仓库

GitHub链接

致谢和慈善

  • 感谢开发者群的所有同学是你们塑造了今天的GuiLite也欢迎新的大神/小白加入我们。
  • 赞助 & 救助大病儿童