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
Generate
button 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
Export
button, 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
Blob
to save file. - Continue your work in last closed window: By
IndexedDB
.
lv_micropython
has some JavaScript API:mp_js_do_str()
(lv_micropython
will 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_micropython
bymp_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)")
.