2020-04-29 09:34:20 +02:00
2021-05-29 16:51:23 +08:00
2021-05-29 16:51:23 +08:00
2021-05-25 08:28:44 +08:00
2019-11-26 15:22:42 +01:00
2021-06-06 14:53:58 +08:00
2021-06-05 16:53:51 +08:00
2019-11-26 15:22:42 +01:00
2021-04-21 18:01:53 +08:00
2021-06-05 16:53:51 +08:00
2021-06-02 16:48:16 +08:00
2021-06-05 16:53:51 +08:00

Very Very Very important

  • Try not to delete the page
  • Save files at any time or turn on the auto-save function

Future plan

  • The changes to lvgl8.0 are very large, and it is still being changed, so it is expected to start supporting lvgl8.0 in November

  • After the dotolist is completed, no new functions will be added later. At that time, the entire project code will be refactored.

New Todo List

  • (First) Add Event System
  • (Second) Redesign the multi-page function, a single page can simulate all pages
  • Add move Animation
  • Add test cases and add detailed event function usage instructions
  • Implement the unadded functions of the remaining widgets
  • Realize all event functions
  • Support more complex animation events
  • Realize the simulation operation function to stop at any time and immediately restore the initial state
  • All event function parameters must meet the requirements
  • Realize the automatic save function
  • Refactor the code related to the style of the widget
  • redo/undo supports new multi-page design
  • Refactored font conversion code, no need for multiple font files of different sizes, reducing a lot of storage space
  • Add language switching function
  • Encapsulate log operation API
  • Dialog for changing keyboard layout

Widget Style Select

  • Switch & slider Style

swsldsyle

  • Arc Style

    arcStyle

Event System

  • support sceen screen
  • support arc event

event1

LVGLBuilder

GUI Builder for littlevgl release 7.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.

Preview

Qt Setting

window setting ubuntu ubuntuSetting maxos macSetting macSetting2

Prerequisites

  • Qt 5.11+ - The Qt framework
  • C++11
  • LVGL 7.11 (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.12.9
  • Ubuntu 18.04.4 + Qt 5.14.2
  • Window 10 + MSVC 2015 32/64 + Qt 5.12.10
  • Window 10 + MSVC 2017 32/64 + Qt 5.12.10

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 ...)
  • Support keyboard shortcuts: Ctrl+F new file; Ctrl+W load file; Ctrl+E export c code;1 to page1; 2 to page2; etc...

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
  • 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)
Description
No description provided
Readme MIT 238 MiB
Languages
C 71.8%
HTML 18.9%
C++ 3.2%
Shell 2.7%
Makefile 1.3%
Other 2%