Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: corrado от Апрель 20, 2010, 12:18



Название: Древовидный текстовый редактор
Отправлено: corrado от Апрель 20, 2010, 12:18
Доброго времени суток,

Я попытался реализовать редактор с древевидной структурой на базе QTreeView, но не смог нормально обрабатывать расширение ячеек соотвуя тексту внутри...

Какими средствами можно сделать такой текстовый редактор?

Заранее благодарен

corrado


Название: Re: Древовидный текстовый редактор
Отправлено: GreatSnake от Апрель 20, 2010, 12:27
QTreeView::header()->setResizeMode( QHeaderView::ResizeToContents )


Название: Re: Древовидный текстовый редактор
Отправлено: corrado от Апрель 20, 2010, 12:39
QTreeView::header()->setResizeMode( QHeaderView::ResizeToContents )
а если большой текст? к тому же мне не нужно изменять ширину под текст, а текс выстраивать с переносами согласно установленной ширине как в обычном редакторе


Название: Re: Древовидный текстовый редактор
Отправлено: GreatSnake от Апрель 20, 2010, 12:45
Ну тогда заводи свой QHeaderView и перегружай у него

QSize QHeaderView::sectionSizeFromContents( int section ) const


Название: Re: Древовидный текстовый редактор
Отправлено: alexman от Апрель 20, 2010, 12:51
void setWordWrap( true ) не подходит?


Название: Re: Древовидный текстовый редактор
Отправлено: corrado от Апрель 20, 2010, 12:56
Ну тогда заводи свой QHeaderView и перегружай у него

QSize QHeaderView::sectionSizeFromContents( int section ) const

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


Название: Re: Древовидный текстовый редактор
Отправлено: corrado от Апрель 20, 2010, 12:59
void setWordWrap( true ) не подходит?

нет, для QTreeView это свойство работает так: если текст не помещатся, то слова не обрезаются посередине, а скрываются полностью и в строке ставится троеточие соответственно свойству textElideMode.