Вы помните to view->header()->setStretchLastSection(false)
?
Вот несколько примеров:
Поведение по умолчанию

Просто отключение растяжения на последнемстолбец:
treeView->header()->setStretchLastSection(false);

Оба атрибута объединены:
treeView->header()->setStretchLastSection(false);
treeView->header()->setResizeMode(1, QHeaderView::Stretch);
Начиная с QT5:
treeView->header()->setStretchLastSection(false);
treeView->header()->setSectionResizeMode(1, QHeaderView::Stretch); //! qt5 api change
