So, I have made a decision to put all logic (for communication and scripting etc.) in the library. I can then connect a CLI, GUI or web service to the library and re-use most of my code in all sorts of clients.
The separation will therefore not be dependent on Qt separation, and the client can use any suitable language and design.