An Online, WYSIWYG GUI designer for LittlevGL. Cross-platform supported(Even Android and IOS).
Make sure your browser is the latest version(Chrome, Firefox and Safari).
You need a browser firstly(Recommends PC with 1920x1080), and then visit the github page or just run an HTTP server(python -m http.server) that serves files from this directory.
- Click a node of the treeview in the left(as the parent), for example,
screen. - Choose which widget you want, and then click the
+.
- Click the
Generatebutton to generate the source code, you can preview and edit the code in Code Editor. (You need to re-generate after modifying the widget) - Click the
Exportbutton, you can download the code in Code Editor.
- WYSIWYG, MVVM(attribute).
- Just a static web app, you need to use it with the latest browser(FireFox, Chrome...even IOS Safari).
- Drag and drop to control the postion of the widget.
- Choose an object as the parent, and then create children on it.
- Set attribute(postion, size, click, etc).
- Style Editor(initial, now for text only).
- Screenshot.
- Code Preview.
- Highlight(initial).
- TFT_simulator can be customized(size), supports mutiple windows.(To do)
- Animation Editor(planning).
- Save and load project. The tool will save your project automatically, and could restore your work from the last closed window.
- Generate C and MicroPython code: includes GUI and Callback.
- A static webpage built with lv_micropython(WASM) and front-end component library, so walv won't send your data to the server.
- WASM part provides a Simulator.
- The front-end component library provides a way to control Simulator: create,delete or modify a widget. Include attribute editor, style editor and animation editor.
- Generate final code by javascript, Use
Blobto save file. - Continue your work in last closed window: By
IndexedDB.
lv_micropythonhas some JavaScript API:mp_js_do_str()(lv_micropythonwill excute the parameter, just like eval() in Python or JavaScript)- walv wraps some commonly used functions(see Getter & Setter), called
template. - walv provides a layer over the
lv_micropython, it can generate some real functions bytemplate, and then send those functions tolv_micropythonbymp_js_do_str. For example, if the user want to change the X of the btn0 to 88 , walv will use thetemplate(id.set_x(integer)) to generate thebtn0.set_x(88), and then send it to lv_micropython bymp_js_do_str("btn0.set_x(88)").

