# Welcome to GuiLite

Logo

The smallest header-only GUI library (5 KLOC) for all platforms.

Why GuiLite

- [中文](README_zh.md) ## Lightweight - ✂️Small: Just under 5,000 lines of C++ and header-only: GuiLite.h - ⚡Fast: Render a GUI within one invocation, independent of any OS or 3rd party library - 💉Embeddable: Runs inside Qt/MFC/Winform/Cocoa/Web - Keep legacy Qt/MFC code reusable - ⚙️️Hardware Minimum Requirements: | Processor | Disk/ROM space | Memory | | --- | --- | --- | | 24 MHZ | 29 KB | 9 KB | ## Cross platform - Supported OSes: iOS/macOS/WathOS, Android, Linux, Windows, RTOS... or **MCU without OS** - Supported languages: C/C++, Swift, Java, Javascript, C#, Golang... - Supported 3rd party libraries: Qt, MFC, Winforms, CoCoa... ## Useful features - 🔣Multi-language, supports UTF-8 - 🔨[Toolkit](https://github.com/idea4good/GuiLiteToolkit) for building font/image resources - 📐[Layout GUI WYSIWYG](https://github.com/idea4good/GuiLitePreviewer) - ☁️Cloud + IoT Solution - 📊Code Telemetry and Analysis in real time - 📦Supports 3D and [Web](https://github.com/idea4good/GuiLiteWeb) - 🐋Run in docker with a single command: `sudo docker run -it --privileged -v /dev:/dev-share idea4good/gui-lite:latest bash /run.sh` ## Easy to learn and support Even a C beginner could master GuiLite quickly. The source code only uses basic C++ features (class, virtual function). We chose C++ as it could make the code size significantly smaller and easier to read. - 📚Documentation - [How to use GuiLite?](documents/HowToUse.md) - [Design specification](documents/HowToWork.md) - [How to Layout widgets?](documents/HowLayoutWork.md) - [How to build unicode font/bitmap resource?](https://github.com/idea4good/GuiLiteToolkit) - [How to switch theme?](https://gitee.com/idea4good/GuiLiteSamples/blob/master/HostMonitor/UIcode/source/resource/resource.cpp) - [How to dispatch messages?](documents/HowMessageWork.md) - [UML chart of GuiLite core](documents/UML.md) - 📈Learning steps 1. Build GuiLite library 2. Build/Debug HelloXXX demos 3. Read/Modify `HelloXXX/UIcode/UIcode.cpp` code 4. Read/Modify `widgets` code 5. Read/Modify `core` code 6. Build your GUI framework - 📞[Reach out us](#community-channel) if you have any questions you are welcomed to our developer family. - 🌐[GitHub link](https://github.com/idea4good/GuiLite) ## Demo wall Click the image you like, and run it on your hardware

3D on STM32

Wave on STM32

Particle on STM32

Star on STM32

3D wave on STM32

Keyboard on STM32

Mario on STM32

3D circle on STM32

Timer

Molecule move

Pendulum effect

Swipe view

3D on Apple Watch

Wave on Apple Watch

Particle on iPhone

HostMonitor on iPhone

Layout GUI

Run Windows on Linux

Multi-language

Code Telemetry & Analysis in real time

Scroll widget

Transparent dialog

3D Nets on Windows/Linux

How to use widgets

Multi-language

3D on Web

3D on Web

Tutorial on Web

HostMonitor on Windows

HostMonitor on IoT-Cloud

HostMonitor on Android

HostMonitor on Windows Mixed Reality

HostMonitor on Mac

HostMonitor on Linux
Most of the demos have about 100 lines of UI code, more details [here.](https://gitee.com/idea4good/GuiLiteSamples) ## 📞Community Channel Thanks for the help from the community, you all make GuiLite better! And welcome to any new friend to join us. - [**@Twitter**](https://twitter.com/idea4good) - QQ group code:

大群:527251257

中群:841031761

免费群:717471210