I assume you mean embed instead of implementing. I don’t see why not. The kf5 plugin, which is derivated from the qt5 plugin, uses cairo and blits the painted result to a QImage per defaukt (it’s implemented in qt5 too and can be switched with SAL_VCL_QT5_USE_CAIRO). There is no existing Qt approach I’m aware of, but you must basically follow the gtk approach implemented in libreofficekit/source/gtk/.
I’m not really understanding this question. But maybe some info about the difference between the old theming interface and the new / weld theming helps you. The difference is the level of abstraction. In the old way LO just asks the OS API to paint a dialogs widgets. But the behavior of the dialog is completely LO controlled and also the layout. With weld the native dialog, like QMessageBox is used. This can be seen for native GTK3 message dialogs. If a native widget doesn’t support some behavior a LO widget needs, you can still fall back to a drawing area widget and let LO do the whole painting and widget interaction.
The main problem is not difficult but laborious. The old API is split into various widgets, which can be implemented individually. So LO asks the VCL plugin, if it supports native buttons and then either calls the plugins function to paint a button or paints it itself (see vcl/inc/WidgetDrawInterface.hxx). AFAIK this kind of separation doesn’t exists with weld; at least it wasn’t obvious when I looked into this years ago. Implementing weld for Qt will take quite some time until anything works. As a data point: when I wrote the initial qt5 plugin, it took me a weekend to see some broken LO UI. But I suggest to just ask Caolan on IRC, since weld is his baby.
IMHO there is just the LOKit way, if you want to use some platform specifics, like native Qt. Or implement your UI using LO + VCL itself. The first one limits you to everything Qt can do (there is still the branch feature/qt5-win+mac, where I did build LO with Qt on Mac and Windows), the 2nd one will result in something that will run on all LO supported platforms. The first approach is like a different project just using LO technology, like LO online. You might get help from the LOOL devs, as they are the primary user and developer of LOKit; the 2nd one may get you more help from the LO development team, but you might need to do more work to get controversial patches in.
See the answer above.
FWIW: you didn’t even mention, what you’re planning to do. Answers might change in a more specific light of your UI ideas, but I guess not much would change, as they are rather generic. HTH you coming to some conclusion.