I've been reading a lot of docs but they don't seem to address some of the questions I have about the basic structure of GUI/Sql Qt apps. So here goes

* I have a MainWindow, with menubar with dozens of actions and UI with dozens of actions and widgets, do I have to connect all these signal/slots in MainWindow.cpp?
* Multiple widgets and actions acting on the same backend data have to use the same instance of QSqlTableModel? I.e. I have to maintain a list of all my tables in MainWindow.h, instantiate them during MainWindow constructor so they are ready for all possible actions? Which leads to...
* Do I need to attach all these models to my view widgets in MainWindow?
* Do I need to customize my widgets in MainWindow?

I know I don't have to do these things but I have not found a better way, e.g.

* I need to hide column of my QTableView, but since I used QtDesigner there is no constructor for me to do this in, so I end up doing it in MainWindow, likewise...
* I thought it would make more sense to attach a model to a view in the view's constructor, but a) there is no view constructor to edit using QtDesigner?, and b) this would create separate models instances, so other widgets/views using this model would not be updated? Unless I access it via qApp or something...

Lastly, can anyone recommend a good piece of simple open source Qt software that shows SQL integration, QtDesigner and views together? I have the feeling I should almost abandon QtDesigner and create all my widgets in code as subclasses so I can have a more modular application structure.

Thanks for anyone reading this far!