GUI Builder for littlevgl written in C++ and using LVGL for preview of the created GUI and Qt for the higher-level user interface for drag and drop of widgets as well as editing of properties and styles.
- Qt 5.11+ - The Qt framework
- C++11
- LVGL 6.1 (included in source since a few adaptions are applied)
Tested on Windows 10 with MSVC 2017 & Qt 5.13.1
Building with console:
- Move to the cloned LVGLBuild directory
- Run
qmake LVGLBuilder.pro
- For gcc (Mac/Linux):
make
- For mingw:
mingw32-make
- For windows:
jom
(make sure that jom.exe is in the environment path)
Building with QtCreator:
- Download Qt from https://www.qt.io/download-open-source
- Install Qt with QtCreator
- Open the LVGLBuilder.pro file with QtCreator
- Click build project
- There are no special requironments, therefor it should build with QtCreator out of the box.
- Create a new project and select the screen resolution
- Simply drag and drop widgets from the list into the canvas
- Widgets can be moved with the arrow keys or by dragging
- Lock widgets to prevent editing (Unlock via right click context menu)
- Drop a widget into another widget to set the parent
- Save and load a project as json file using the menu or tool buttons
- Mark widgets within the property editor as accessable via the c header
- Export the project as c code using the menu (File -> Export -> C Project ...)
- Saving GUI as JSON
- Loading GUI as JSON
- Export C-project
- Change style of single widgets
- Support different display formats
- Fix object inspector (insertion and deletion of widgets)
- Fix absolute and relative positions of widgets
- Undo and redo
- Default values for widgets
- Support multiple screens
- Dialog for changing keyboard layout
- Preview for widgets
- Icons for widgets
- C code driver generator (Touch, Buttons, Displays for µC)
- Arc (lv_arc)
- Bar (lv_bar)
- Button (lv_btn)
- Button matrix (lv_btnm)
- Calendar (lv_calendar)
- Canvas (lv_canvas)
- Checkbox (lv_cb)
- Chart (lv_chart)
- Container (lv_cont)
- Color picker (lv_cpicker)
- Drop-down list (lv_ddlist)
- Gauge (lv_gauge)
- Image (lv_img)
- Image button (lv_imgbtn)
- Keyboard (lv_kb)
- Label (lv_label)
- LED (lv_led)
- Line (lv_line)
- List (lv_list)
- Line meter (lv_lmeter)
- Message box (lv_mbox)
- Page (lv_page)
- Preloader (lv_preload)
- Roller (lv_roller)
- Slider (lv_slider)
- Spinbox (lv_spinbox)
- Switch (lv_sw)
- Table (lv_table)
- Tabview (lv_tabview)
- Text area (lv_ta)
- Tile view (lv_tileview)
- Window (lv_win)