Russian Qt Forum

Qt => Model-View (MV) => Тема начата: White Owl от Июнь 23, 2011, 23:54



Название: Как прятать/показывать колонки в QTableView?
Отправлено: White Owl от Июнь 23, 2011, 23:54
У QTableView есть всторенные функции hideColumn()/showColumn()/setColumnHidden() (и тоже самое для строк). В принципе, понятно что можно звать эти функции из кода и будет все замечательно.
А как простому юзеру это делать? Я не вижу какой флаг надо установить чтобы простой юзер смог мышкой спрятать колонку. Я могу изменять размеры колонки, но до определенного минимума - дальше одной буквы они почему-то не сжимаются, не говоря уже про полное "прятать"...
В общем, если есть стандартный QTableView показывающий данные из стандартного QStandardItemModel. Как наименьшей кровью дать юзеру возможность прятать (и восстанавливать) колонки?


Название: Re: Как прятать/показывать колонки в QTableView?
Отправлено: GreatSnake от Июнь 24, 2011, 07:12
Цитировать
Как наименьшей кровью дать юзеру возможность прятать (и восстанавливать) колонки?
По нажатию правой кнопки на QTableView::horizontalHeader() или QTableView::verticalHeader() показываешь меню со списком элементов каждого заголовка, которые делаешь переключаемыми (QAction::setCheckable()).


Название: Re: Как прятать/показывать колонки в QTableView?
Отправлено: Mysterious от Июнь 24, 2011, 07:33
Можно установить минимальный размер ширины колонки равной 0.
Тогда пользователь сможет изменять размеры колонки до полное "прятать".

tableView->horizontalHeader()->setMinimumSectionSize(0);


Название: Re: Как прятать/показывать колонки в QTableView?
Отправлено: GreatSnake от Июнь 24, 2011, 09:29
Можно установить минимальный размер ширины колонки равной 0.
Тогда пользователь сможет изменять размеры колонки до полное "прятать".
И каким образом этот пользователь будет потом включать эти спрятанные колонки?