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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Делегаты и высота строк в QTreeView  (Прочитано 4215 раз)
voltron
Гость
« : Ноябрь 12, 2012, 22:53 »

Есть QTreeView с двумя колонками: первая не редактируемая, вторая редактируемая. Для редактирования второй колонки используются делегаты (предоставляют SpinBox и самодельный селектор каталогов). Проблема в том, что по умолчанию высота строк в QTreeView слишком маленькая и если spinbox ещё так-сяк умещается, то селектор сжимает и им невозможно пользоваться.
Пока решил проблему «в лоб» —  переопределил метод sizeHint() делегата и возвращаю заведомо большое значение. Но в результате дерево выглядит очень неаккуратно и некрасиво.

Можно ли как-то получить оптимальную высоту строк для QTreeView, чтобы все делегаты вписывались и не было лишнего пустого места?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Ноябрь 13, 2012, 10:42 »

Пока решил проблему «в лоб» —  переопределил метод sizeHint() делегата и возвращаю заведомо большое значение. Но в результате дерево выглядит очень неаккуратно и некрасиво.
Что значит «в лоб» Непонимающий sizeHint() именно для этого и предназначен. И это уже твои проблемы коли ты не в состоянии вернуть предпочтительные размеры ячейки. Возвращал бы хотя бы QStyle::subControlRect( QStyle::CC_SpinBox ).size() + "самодельный селектор каталогов".size().
Записан

Qt 5.11/4.8.7 (X11/Win)
voltron
Гость
« Ответ #2 : Ноябрь 13, 2012, 12:14 »

И это уже твои проблемы коли ты не в состоянии вернуть предпочтительные размеры ячейки.
Поэтому и задал вопрос каким образом можно получить оптимальный размер. Форум для этого и предназначен, разве нет?
Возвращал бы хотя бы QStyle::subControlRect( QStyle::CC_SpinBox ).size() + "самодельный селектор каталогов".size().
Спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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