Russian Qt Forum

Qt => Model-View (MV) => Тема начата: slava_d200 от Январь 22, 2012, 23:24



Название: QTableView изменить высоту строки
Отправлено: slava_d200 от Январь 22, 2012, 23:24
Добрый день!
Как через МОДЕЛЬ изменить высоту строки в QTableView.
а точнее как через делегат изменить высоту выводимой строки.


Название: Re: QTableView изменить высоту строки
Отправлено: twp от Январь 22, 2012, 23:46
также как и в этом треде (http://www.prog.org.ru/topic_20192_0.html) - через sizeHint или установку styleSheet для QStyledItemDelegate


Название: Re: QTableView изменить высоту строки
Отправлено: slava_d200 от Январь 23, 2012, 00:43
также как и в этом треде (http://www.prog.org.ru/topic_20192_0.html) - через sizeHint или установку styleSheet для QStyledItemDelegate

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



Название: Re: QTableView изменить высоту строки
Отправлено: kambala от Январь 23, 2012, 00:54
а через QTableView::setRowHeight() никак?


Название: Re: QTableView изменить высоту строки
Отправлено: slava_d200 от Январь 23, 2012, 01:00
а через QTableView::setRowHeight() никак?

а если я использую модель представления - где мне ее вызывать ?


Название: Re: QTableView изменить высоту строки
Отправлено: kambala от Январь 23, 2012, 03:53
модель ничего не должна знать о внешнем виде - она оперирует лишь данными. тебе надо выставлять высоту или в наследнике QTableView или там, где экземпляр QTableView находится


Название: Re: QTableView изменить высоту строки
Отправлено: slava_d200 от Январь 23, 2012, 08:34
модель ничего не должна знать о внешнем виде - она оперирует лишь данными. тебе надо выставлять высоту или в наследнике QTableView или там, где экземпляр QTableView находится

у меня таблица состоит из одной колонки.
я рисую в делегате ячейку.
при рисовании одна ячейка может содержать 2-5 строк.

т.е. количество строк в ячейки не фиксированное значение.
мне для одной строки надо разместить 2 строки текста, для другой строки 5 строк текста.
для этих целей мне надо динамическое изменение высоты строки.


Название: Re: QTableView изменить высоту строки
Отправлено: GreatSnake от Январь 23, 2012, 10:38
Можно ещё попробовать через QAbstractItemModel::setData() используя Qt::SizeHintRole.