Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: sulia от Октября 14, 2011, 14:32



Название: Как управлять горизонтальной прокруткой в QTreeView? Помогите
Отправлено: sulia от Октября 14, 2011, 14:32
Добрый день!
Подскажите, пожалуйста как самому управлять появлением горизонтального скрола в QTreeView? Т.е. изменить установленное по умолчанию, которое появляется когда невидим узел в дереве, а надо чтобы появлялось когда один из элементов дерева отображается не полностью.
Заранее благодарен.


Название: Re: Как управлять горизонтальной прокруткой в QTreeView? Помогите
Отправлено: Странник от Октября 14, 2011, 14:51
самое простое решение - попробовать поиграть с политикой скроллбара с помощью void setHorizontalScrollBarPolicy (Qt::ScrollBarPolicy). скроллбар не должен отображаться - ставите Qt::ScrollBarAlwaysOff, нужен - Qt::ScrollBarAsNeeded. но это всего лишь предположение.


Название: Re: Как управлять горизонтальной прокруткой в QTreeView? Помогите
Отправлено: sulia от Октября 14, 2011, 14:57
Он то отображается, но не там где мне надо. Я хочу что бы он отображался когда не полностью видим один из элементов дерева.


Название: Re: Как управлять горизонтальной прокруткой в QTreeView? Помогите
Отправлено: kambala от Октября 14, 2011, 16:52
а картинку можно (как должно быть и как сейчас)? непонятно что имеется в виду.


Название: Re: Как управлять горизонтальной прокруткой в QTreeView? Помогите
Отправлено: GreatSnake от Октября 15, 2011, 12:09
сейчас как в файле Tree1
а надо что бы полоса прокрутки появилась как в фале Tree2
Чего-то я во 2-м скрине не вижу никаких прокруток.


Название: Re: Как управлять горизонтальной прокруткой в QTreeView? Помогите
Отправлено: sulia от Октября 15, 2011, 20:27
Я хочу сделать так чтобы во втором файле появлялась прокрутка. То есть самому указывать когда должна появляться прокрутка. 


Название: Re: Как управлять горизонтальной прокруткой в QTreeView? Помогите
Отправлено: fuCtor от Октября 15, 2011, 20:43
Возьмите стандартрный QItemDelegate, и переопределите там sizeHint (подсмотрев как он реализован в оригинале) так что-бы он не делал textElide, тогда ширина строки будет больше видимой и скрол должен появиться.


Название: Re: Как управлять горизонтальной прокруткой в QTreeView? Помогите
Отправлено: Странник от Октября 15, 2011, 23:04
Возьмите стандартрный QItemDelegate, и переопределите там sizeHint (подсмотрев как он реализован в оригинале) так что-бы он не делал textElide, тогда ширина строки будет больше видимой и скрол должен появиться.
а если textElideMode и wordWrap для QTreeView установить? по идее, при отключении должен бы растягивать итемы на ширину текста.


Название: Re: Как управлять горизонтальной прокруткой в QTreeView? Помогите
Отправлено: fuCtor от Октября 16, 2011, 07:11
Можно и их попробовать, главное избавиться от сокращения текста.