Use the script engine to alter your GUI
I was wondering whether it is possible to use the script engine to for example add a new button or some other widget to my main apps' gui?
Sure you can. I do it in my application.
All I do is that I "expose" the QMainWindow and then I can access and modify its sub-objects.
@ _eng->globalObject().setProperty("Main", _eng->newQObject(mainWindow));@
This is not exactly what I had in mind, I don't want to make an objects' public slots available to the engine but ad a new widget that did not even exist in the beginning of the program. Until now the best thing I could find was to create a new custom object that inherits the widget I want and use a function that when called will create the aforementioned (and only that) widget. I was wondering if there are other ways, or if even this is a good idea to begin with. I am doing this as an exercise and to be honest can't think how it can actually be useful, except maybe for the case when a user would be able to create his own gui, or customise an existing one.
My point was that once you have access to Main, then you can easily insert your script-created widgets into an existing Toolbar, layout or DockWidget.
Indeed, and you are absolutely right in that regard. What is not very clear to me at this point though is how can I create a new widget from inside my script, something that I should have stated more clearly in my question.