Quote Originally Posted by wysota
I meant did you look into its source code while trying to find where mapFromSource and mapToSource are called.

Don't give up. All you need is to reimplement mapToSource and mapFromSource. And when I think of it, subclassing the abstract class directly could be the way to go, if you don't need the filtering and sorting functionality.
I gave up . I checked QAbstractProxyModel's source, but again, mapFromSource/mapToSource are only called by mapSelectionFromSource/ToSource. Implementing them for either QAbstractProxyModel/QSortFilterProxyModel is not enough, because they are not getting called at all. I've got it working now by simply hiding/unhiding the columns in the tree view. Not the solution I wanted, but it works for now.

I'll try to implement a proper QAbstractProxyModel later on.