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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTreeWidget управление секциями  (Прочитано 3364 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Сентябрь 11, 2015, 18:54 »

Добрый день

Аттач: первая и последняя колонка QHeaderView::Stretch, средняя - ResizeToContent. Вопросы:

1) Откуда горизонтальный скроллер? Причем неск пикселей, текст как был обрезан так и остался. Из каких соображений лепится скроллер и что надо сделать чтобы его не было?

2) Почему не забрали лишнее место у средней колонки?

3) Возможно мне и в средней колонке понадобится длинноватый текст. Тогда ResizeToContent совсем задавит первую и последнюю. А поставить всем трем Stretch - она просто сделает равные длины у всех  Плачущий

Текст примера прилагаю

Спасибо
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #1 : Сентябрь 16, 2015, 11:57 »

По поводу 1 - похоже на кутишный баг, сам такое не раз видел. Лечится выключением горизонтального скроллера.

По поводу 2 - это "место" для значка сортировки в хедере, видать, стиль имплементирован так, что место остается, даже если сортировка неактивна.

Ну а по поводу 3 - а если просто поставить ResizeToContent для всех колонок?
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« Ответ #2 : Сентябрь 16, 2015, 12:14 »

1) Последняя секция не может быть менее 100 пикселей - дурацкая формула расчета (Qt5.5.0). Qt::ScrollBarAlwaysOff - выключит скроллер навсегда.

2) Если лишнее место в заголовке то похоже действительно на резерв для значка. А если место в контексте, то текст заголовка рассматривается так же как контекст и на него так же действует правило ResizeToContents.

3) Как вариант установить минимальную ширину для колонок.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Сентябрь 16, 2015, 12:35 »

Ну а по поводу 3 - а если просто поставить ResizeToContent для всех колонок?
Тогда ничего не жмется, впарит горизонтальный скролл

3) Как вариант установить минимальную ширину для колонок.
А где это? "Для всех" есть, но что это дает?
Записан
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« Ответ #4 : Сентябрь 16, 2015, 13:16 »

Пересчитывай ширину всех колонок или какой-то отдельно самостоятельно - QHeaderView::Fixed, resizeSection().
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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