Russian Qt Forum
Сентябрь 30, 2024, 02:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Решено] QTreeWidget авто ширина колонок  (Прочитано 2874 раз)
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« : Декабрь 19, 2015, 09:49 »

Есть таблица, нужно чтобы ширина всех колонок была по содержимому, одна колонка в середине растягивалась в зависимости от ширины виджета.

setColumnWidth - это размер с учетом разграничительных линий или на данные? И сколько нужно к ширине текста добавлять (через QFontMetric)?

« Последнее редактирование: Декабрь 19, 2015, 15:26 от deMax » Записан
deMax
Хакер
*****
Offline Offline

Сообщений: 600



Просмотр профиля
« Ответ #1 : Декабрь 19, 2015, 10:48 »

setColumnWidth - ставит ширину от линии до линии, для первой колонки обе линии включены. Ширину заголовка можно рассчитать добавив 8 к ширине текста для моего стиля(откуда взять это число пока не знаю).
resizeColumnToContents - устанавливает немного большую величину ширины чем надо, да и не очень быстро ширину текста в ячейках шерстить(когда я знаю какой там максимальный текст будет).
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Декабрь 19, 2015, 11:38 »

Сначала делаете setStretchLastSection(false). Потом "растяжимой" ставите QHeaderView::Stretch, а остальным или Fixed или ResizeToContents что больше подходит. И помню глючило если ширина всей таблицы слишком мала (< 256)

Не выйдет - выкладываете тестовый проект
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.124 секунд. Запросов: 22.