This is a really confused design. "PhysEqSolver" is, in effect, the model, since it appears to be the source of data that is displayed in the table. It is completely unnecessary to derive this from QTableView and in fact that might be part of the source of your GUI problems.
The PhysEqSolverTable table widget that is created as part of the PhysEqSolver class should be the instance that is inserted into the dock widget. It should be created by the code that creates the dock widget (a QMainWindow-based class, likely). If for convenience, you want to store a copy of that pointer in the PhysEqSolver class, that's fine, but the Model / View architecture works the other way around - the model pointer is stored on the view, not vice-versa.
Most of the code you have in the PhysEqSolver class for interacting with the table cells should be moved to the PhysEqSolverTable class. This is probably another source of GUI problems since it is likely you are handling signals for one GUI object (the table VIEW) using a different GUI object (the table WIDGET).
Bookmarks