@Inquisitor

Scroll bar внутри отдельной колонки QTreeView

Qt 4.8.0.
Есть QTreeView с одной колонкой, хидер спрятан и показан быть не должен.
Внутри иерархическое дерево элементов произвольной вложенности.
Элементы именованы и рано или поздно по ширине они не влазят в колонку.
Резайз может заработать для всего QTreeView, если ширина колонки соответствует ширине контента (как если бы заголовок был отображен и пользователь дважды кликнулмышью).

Пробовал делать так:
еreeView->header()->setResizeMode(QHeaderView::ResizeToContents)
Эффекта нет.
Пробовал вызывать этот метод на событиях клика по итему или смене выделенного итема.
Эффекта нет.

Как заставить столбец автоматически менять ширину? Сама вьюшка ширину менять не должна.
  • Вопрос задан
  • 3090 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Inquisitor Автор вопроса
Решил, подцепившись на сигналы collapsed и expanded, а в обработчике вызвал resizeColumnToContents().
Ответ написан
Комментировать
@Inquisitor Автор вопроса
Переделал.
После setModel нужно для header() вьюшки задать следующее:
setResizeMode(relevantColumn, QHeaderView::ResizeToContents)
setStretchLastSection(false)

Я первый раз сетал только resize mode. Вот в чем была ошибка.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы