> In QWidget if you use it then it’s compiled into the application.
Same thing with QML. QML files get compiled into the application. The QQmlEngine then interprets various expressions/actions at runtime. Just like scripting a QWidget/QDeclarativeView based application with QtScript.
I think the post you have linked to was simply comparing QML as a language to a HTML and how Javascript can be used as glue code to script various actions, and how you can expose business logic to javascript via. FFI.
<button onClick="console.log('hello')" />
vs.
Button { onClick: console.log('hello') }
vs.
Button *button = new Button(parent);
connect(button, &Button::clicked, [](){ qDebug() << "hello" });
> I want as few extra languages as possible. I do not find that extra work because it’s represented in the class itself and the observer pattern maintains my preferences... For my intentions I am looking for less overhead overall to keep files as pure C++ as possible to ensure that a class I’m writing represents the full scope of it’s functionality and domain.
I know where you're coming from. What I am saying was it is less about preferences and more about separation of concerns. "What the UI should look like" vs. "What the UI should do". The latter usually needs to happen in C++ anyways. But the former - there are better tools/ways to describe that.
Most of the time "What the UI should look like" probably gets described in your constructors. It probably takes a few write/compile/test iterations to get what you want. That works well enough for simpler uis. When things get more complex... that's when other tools can simplify your work. With UIC, you (or an actual designer) can visually edit the ui in QtDesigner and give you the ui files. All the UI description gets compiled to it's own class. Your business logic code wouldn't have to worry about details of layouts, positions, colors etc... It wouldn't have to be modified whenever you want to change the position of a button.
fwiw I started appreciating the designer only after going back to writing QWidgets code after a few years of break