Support a text based GUI building feature

I have just found out about LVGL and I am impressed both by how quickly and how good of a GUI I could develop for an ESP32/ST7735 setup. I also ran the VC++ demo project. This is great!

A feature that I think would be very useful, coupled with the VC++ project would be to develop a QML-like text based way of developing an interface. I am currently looking for a GUI lib that I’d like to integrate into an open source project, I’d like the users of the project to be able to just focus on GUI development without the need to write code. If there was a way for them to develop an interface in QML or something of the likes, test it in the VC++ project and then deploy on the ESP32 target, that’d be excellent.

I want to make sure this request is not understood as supporting QML specifically, but rather a generic user interface markup language.


Thanks for this feature request.

When making design/architectural decisions we try to make LVGL similar to the concept of HTML/CSS. It’s not about developing a markup language, but “stealing” some concepts from there.

I think this similarity will help to develop a markup language support at one point. What I don’t know how scripting can be added. Do you have any ideas in this regard?

Thanks for the reply.
I have used QML in the past and so that’s the only markup language I have experience with.
What is good about QML is that it allows a parent/child structure, which is very much there in LVGL. It allows easy alignment of objects, and allows creating complex custom objects as an amalgamation of native objects.
In essence, even XML would work since it would easily bind to LVGL object oriented and inheritance approach.

I have to say that while I was initially frustrated with the complexity of LVGL, this project has grown on me. It is quite powerful and I like it.
Something I will have to report on seems to be an issue with Canvases, whenever I instantiate one in my ESP32 based project I get a linker error related to the data section running out of room.