mirror of
https://gitee.com/idea4good/GuiLite.git
synced 2025-11-24 08:33:17 +08:00
bbb8af927f60b7f6ed1080acf801837a3dd575b6
GuiLite - All donations will be used to help sick kids
Introduction
- GuiLite is the smallest GUI library with 5000 lines of C++ code, it runs on all platforms(e.g, iOS, Android, Linux, Windows, macOS, Docker and MCU with or without OS).
- GuiLite is embeddable, it runs inside other UI frameworks(e.g, Qt, MFC, Winform, Cocoa). You could use GuiLite features and host UI features simultaneously.
- GuiLite render UI by itself, independent of OS & Graphic library.
- GuiLite could work with many languages(e.g. Swift, Java, C#, Golang).
- 🔧We want people to customize GuiLite.
- ⚙️We hope GuiLite is small enough to help you understand how UI works.
- 👑You should be the master of your UI and not be tied to a specific framework.
🔥New feature:GuiLite previewer(WYSIWYG extension for GuiLite)
- GuiLite Previewer is a Visual Studio Code extension, could extract GUI information from C++ code and preview GUI at preview page(What you see is what you get)
- No need for drag-and-drop widgets, everything (e.g. code/design/build/debug) could be done by coding
- No need for special GUI editor(e.g. Android Studio, Qt designer)
- No need for Extensible Markup Language(e.g. xml, xaml)

Features
Cross platform
| ARM Linux | STM32 Without OS |
|---|---|
![]() |
![]() |
| Windows Mixed Reality | Android |
|---|---|
![]() |
![]() |
| macOS | iOS |
|---|---|
![]() |
![]() |
Support Docker Container
We build GuiLite demo as docker image, you can update/deploy/run the latest GuiLite demo on your device with single command below:
sudo docker run -it --privileged -v /dev:/dev-share idea4good/gui-lite:latest bash /run.sh
Easy customization
Multi-language:
Multi-theme
IoT Solution & Code Telemetry
Start with Demo
GuiLite is only a framework, could not create UI by itself. In order to show how to build UI App with it, We provide some samples for you.
- Sample code here.
- Sample introduction:
| Sample name | Platform | Description | Build guidance | Diffculty level |
|---|---|---|---|---|
| HelloParticle | Windows, Linux, STM32F103, STM32F429 | Show how to develop particle effect | Build | ★ |
| HelloStar | Windows, Linux, STM32F103, STM32F429 | Show how to develop star field effect | Build | ★ |
| HelloGuiLite | Windows, Linux | Show how to Initialize UI, load resource, layout UI | Build | ★★ |
| HelloWidgets | Windows, Linux | Show how to use GuiLite widgets | Build | ★★ |
| HelloMario | Windows, Linux, STM32F103, STM32F429 | Show how to develop multi-layer UI system | Build | ★★ |
| HelloNavigation | Windows, Linux, STM32F103, STM32F429 | Show how to navigate/click widgets by hard button in non-touch GUI scenario | Build | ★★ |
| HelloFont | Windows, Linux | Show how to use multi-language feature(UTF-8) | Build | ★★ |
| HelloAnimation | Windows, Linux | Show how to make animation | Build | ★★ |
| HelloSlide | Windows, Linux | Show how to use sliding pages | Build | ★★★ |
| HelloWave | Windows, Linux, STM32F103, STM32F429 | Show how to use wave widget | Build | ★★★ |
| HostMonitor | iOS, Mac, Android, Windows, Linux | Show how to build complex UI for all platforms | Build | ★★★★ |
Documents
GuiLite is the smallest and simplest GUI library.
- Just 5,000 line C++ code
- Only use basic C++ feature(class, virtual function), no complex syntax
- All rendering base on draw_pixel, no algorithm
- Full documents and small live demos for reference
How to learn?
- Build/Run GuiLite library
- Build/Run HelloXXX demos
- Read/Modify
HelloXXX/UIcode/UIcode.cppcode - Read/Modify
guicode - Read/Modify
corecode - Build your UI framework
Videos
Mirror repository
Thanks
- Thanks the help from QQ group, you guys make GuiLite better! And welcome new friend to join us.

- Thanks the donations from Gitee users, every penny of donations will be used to help sick kids.
Description
Languages
C++
99%
Shell
0.5%
CMake
0.3%
C
0.2%











