QTreeView средний столбец заполняет пространство ширины вместо последнего столбца - PullRequest
22 голосов
/ 24 января 2012

Как это сделать:

middle column fill space

Я уже пробовал так:

view->header()->setResizeMode(INDEX_COLUMN_SKU, QHeaderView::Interactive);
view->header()->setResizeMode(INDEX_COLUMN_NAME, QHeaderView::Stretch);
view->header()->setResizeMode(INDEX_COLUMN_QUANTITY, QHeaderView::Interactive);
view->header()->setResizeMode(INDEX_COLUMN_PRICE, QHeaderView::Interactive);

но не работает.

1 Ответ

42 голосов
/ 24 января 2012

Вы помните to view->header()->setStretchLastSection(false)?

Вот несколько примеров:

Поведение по умолчанию

Default behavior

Просто отключение растяжения на последнемстолбец:

treeView->header()->setStretchLastSection(false);

Stretch_Disabled

Оба атрибута объединены:

treeView->header()->setStretchLastSection(false);
treeView->header()->setResizeMode(1, QHeaderView::Stretch);   

Начиная с QT5:

treeView->header()->setStretchLastSection(false);
treeView->header()->setSectionResizeMode(1, QHeaderView::Stretch); //! qt5 api change 

Stretch_Disabled+Resizable_Second_Col

...