This is really great !
If I could use it for my Panda3D Studio GUI, I would no longer have to put up with the quirks of wxPython on Linux - something I am really looking forward to.
Having played around with it a bit, I can say I like the use of layouts, the ability to create additional button templates and how easy it is to add widgets.
There are some things you might want to add/improve:
- it would be great if other widgets and even frames could have additional templates too (e.g. one frame template could be used to create toolbars and another for creating panels);
- for the buttons, it would be nice if they could also have graphics to represent their highlighted state (when mousing over them) and disabled state;
also, being able to set their state programmatically would allow things like toggle buttons, which stay active until they are clicked a second time; - being able to select text in an input field (manually as well as programmatically) would also be nice;
- while the feature of relative constraints is very cool, it doesn’t seem to work well inside a layout (e.g. when setting the width of a button or frame relative, it seems to be reduced to zero);
EDIT: this turns out to only happen in the main direction of the layout, which makes sense I guess; - when setting both the left and right offsets for a widget, it is offset from the left only, while I would have expected the widget to expand to respect both offsets (similar to relative constraints).
On a side note, opening a LUISelectbox leads to a warning about it having requested focus twice or more in one frame.
Although there is no demo showing the use of a colorpicker, it does seem to be implemented, which is great.
Do you also plan to add things like open and save file dialogs? Would be awesome, but I can understand if this is beyond the scope of this project.
All in all, very glad to see this and I hope you will continue to work on it !