By definition QTreeView displays branches in the column with logical index '0' (or the lowest non-hidden column probably but I'm not sure). To override that you have to either provide a proxy model that will rearrange your columns or reimplement QTreeView.