MVC stands for split levels of model view control. If you can do this, put each layer class in its own library.
The controller level is the glue between the layers of the model and view. It has the simplest form, it simply connects their signal and slots. More sophisticated controllers use lambda functions and do more in their methods.
source share