Well you could make it all work with one model. As you said you already have a standard QTableView (I hope is working, else you may want to fix this first), and then you have custom view, you could do all co-ordinate generation / transformation in the custom view itself.
IMO proxy models are generally required, if you want to have multiple views to same base model, with slightly (map-able) different visualization. In your case the visulization is generated based on the data itself, so it better to have the position translation in your custom view. And as always try to restrict the custom view to use the QAbstractItemModel interface as much as possible, as a good practice, don't use custom calls / signals / slots between the custom view and model (you might face synchronization issues later on in the development)
You could explore using a item delegate, which may simply your custom view's complexity.
Bookmarks