Заголовок QTreeView

Использование QTreeView для визуализации содержимого производной реализации QAbstractItemModel.

Текущая реализация показывает все 4 заголовка в QTreeView. Это прекрасно работает.

Каков предпочтительный способ изменить отображаемые заголовки и порядок их отображения во время выполнения? В одном сценарии я хотел бы отобразить столбец\заголовок 1,2,4, а в другом сценарии 1,4,3.

Следующее работает для отображения и скрытия, но не обрабатывает порядок изменения:

if ( scenario1 )
{
  ui->tree->hideColumn(3)
  ui->tree->showColumn(2)
}
else if (scenario2 )
{
  ui->tree->hideColumn(2)
  ui->tree->showColumn(3)
}

person Lars    schedule 28.07.2014    source источник


Ответы (1)


Вызовите функцию header(), чтобы получить QHeaderView, затем swapSections(1, 0), например, поменяет местами первый и второй столбец.

person Leo Chapiro    schedule 28.07.2014
comment
Спасибо за ответ. - person Lars; 28.07.2014
comment
Что является хорошим способом отслеживать текущий заказ? Скажем, сценарий №1 имеет порядок 1,2,4, сценарий №2 — 1,4,2, а сценарий №3 — 4,2,1. При работе с изменением заголовков вам необходимо знать предыдущую статистику. - person Lars; 28.07.2014
comment
Взгляните на QHeaderView::saveState/restoreState - person Leo Chapiro; 28.07.2014