Название: Делегаты и высота строк в QTreeView Отправлено: voltron от Ноябрь 12, 2012, 22:53 Есть QTreeView с двумя колонками: первая не редактируемая, вторая редактируемая. Для редактирования второй колонки используются делегаты (предоставляют SpinBox и самодельный селектор каталогов). Проблема в том, что по умолчанию высота строк в QTreeView слишком маленькая и если spinbox ещё так-сяк умещается, то селектор сжимает и им невозможно пользоваться.
Пока решил проблему «в лоб» — переопределил метод sizeHint() делегата и возвращаю заведомо большое значение. Но в результате дерево выглядит очень неаккуратно и некрасиво. Можно ли как-то получить оптимальную высоту строк для QTreeView, чтобы все делегаты вписывались и не было лишнего пустого места? Название: Re: Делегаты и высота строк в QTreeView Отправлено: GreatSnake от Ноябрь 13, 2012, 10:42 Пока решил проблему «в лоб» — переопределил метод sizeHint() делегата и возвращаю заведомо большое значение. Но в результате дерево выглядит очень неаккуратно и некрасиво. Что значит «в лоб» ??? sizeHint() именно для этого и предназначен. И это уже твои проблемы коли ты не в состоянии вернуть предпочтительные размеры ячейки. Возвращал бы хотя бы QStyle::subControlRect( QStyle::CC_SpinBox ).size() + "самодельный селектор каталогов".size().Название: Re: Делегаты и высота строк в QTreeView Отправлено: voltron от Ноябрь 13, 2012, 12:14 И это уже твои проблемы коли ты не в состоянии вернуть предпочтительные размеры ячейки. Поэтому и задал вопрос каким образом можно получить оптимальный размер. Форум для этого и предназначен, разве нет?Возвращал бы хотя бы QStyle::subControlRect( QStyle::CC_SpinBox ).size() + "самодельный селектор каталогов".size(). Спасибо |