New features
The pre-release of v1.0.2 has been released. And Changlog.md under the dev-v7 branch will record all the new features of the version starting from v1.01
1.0.2
- Auto-save function only keeps three stored files per page
- Support event function modification
- Completed all event functions
- Add test cases for all events
- Support for reading relative path files (The configuration file and the picture need to be in the same directory)
1.0.1
- Added auto save file function
- When the simulation stops running, widgets are restored to their original state immediately
- Added btn, checkbox, ddlist, img, imgbtn and label event functions
- undo/redo supports multiple pages
- Label adds the event function of dynamically displaying time
Pre Release
- Windows: builded by msvc201564 and msvc201732
- Macos: builder by Clang64
- ubuntu20: builder by gcc8_64
LVGL Simulator
program: https://github.com/mrQzs/Lvgl_Simulator
-
support msvc 32/64 and mingw 32/64
-
Put the code file generated by lvglbuilder in the testcode folder
-
Just load the source code and modify the resolution in the lvconf.h
Move Animation
Event&Style select
New version
Now, the dev-7 branch based on lvgl7.11.0 has completed most of the todo list, so everyone can switch to the dev-7 branch for testing.
LVGLBuilder
GUI Builder for littlevgl release 6.0+ 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.
Prerequisites
- Qt 5.11+ - The Qt framework
- C++11
- LVGL 6.1 (included in source since a few adaptions are applied)
Tested:
- Windows 10 + MSVC 2019 + Qt 5.15.1
- Windows 10 + MinGW 8.1 + Qt 5.15.2
- Ubuntu 18.04.4 + Qt 5.14.2
- Ubuntu 20.04 + Qt 5.12.8
Build
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.
Usage
- 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 ...)
ToDo General
- 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
- Support for lvgl 7.x
Wishlist
- C code driver generator (Touch, Buttons, Displays for µC)
ToDo Widgets
- 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)