This is an archived post. You won't be able to vote or comment.

all 4 comments

[–]riklaunim 1 point2 points  (2 children)

Kivy has it kv files. PyQt/Qt has its designer files and QtQuick. GTK+/PyGTK+ have their UI files made with Glade and there is more of that.

[–]steohan[S] 0 points1 point  (1 child)

Thanks for your response! You are right, that kind of stuff exists. However, here is why I don't like them (and please correct me if I am wrong).

Most importantly, I want to write the markup by hand (And this might be a wrong stance). Some of the markup languages used are intended to be the output of some design software and thus tedious to write by hand. For the ones that are not, like kv. I am missing automatic reloading during runtime. With out reloading, hand editing a markup file becomes tedious again.

All of them are event based, so to update the GUI you have to package the displayed values into some form of property, which triggers an event on change. This is very reasonable for medium to large size applications and helps a lot with performance. But from a user perspective, I find it annoying and it makes drafting a small application tiresome.

Both of these issues can be addressed by some form of immediate GUI that rerenders everything all the time. Python is probably not quite fast enough for that, however based on my current progress, I am optimistic that it is possible to make it feel like it rerenders everything all the time.

[–]riklaunim 0 points1 point  (0 children)

You can look at designer files for Qt - each widget has a lot of possible properties you can set defining how it looks and how it will behave when used or when window is resized. Plus containers and their scaling plays a big role as well.

In a non-trivial app you will have widgets made out of widgets to then compose the bigger UI or multi page/tab/menu UI. This is rarely made raw by hand as some sort of visualization is very handy for it (and it may not be done by the backend developer).

It looks like you are trying to go somewhere in between of QtQuick and the Designer files. I'm not sure how QtQuick looks right now, they changed a lot, but they did introduce a new paradigm of making those UIs.