Russian Qt Forum

Qt => Model-View (MV) => Тема начата: Fregloin от Октябрь 23, 2013, 15:22



Название: Как изменить формат отображения отфильтрованных данных?
Отправлено: Fregloin от Октябрь 23, 2013, 15:22
Привет. Есть модель, двумерный массив строк. Есть прокси фильтр, который отображает только нужные колонки/строки.
Как допустим изменить шрифт и цвет подмножества отфильтрованных ячеек?


Название: Re: Как изменить формат отображения отфильтрованных данных?
Отправлено: mutineer от Октябрь 23, 2013, 15:28
В фильтре переопределить data и возвращать другие данные на роли шрифта и цвета


Название: Re: Как изменить формат отображения отфильтрованных данных?
Отправлено: Fregloin от Октябрь 23, 2013, 16:46
я так и сделал, но это изменение повлияло на все элементы, в независимости от того, попадают они в фильтр или нет


Название: Re: Как изменить формат отображения отфильтрованных данных?
Отправлено: mutineer от Октябрь 23, 2013, 16:58
Так возвращать измененный шрифт нужно ж не для всех ячеек


Название: Re: Как изменить формат отображения отфильтрованных данных?
Отправлено: Fregloin от Октябрь 23, 2013, 23:08
так в этом то и вопрос.
к каким ячейкам будет возвращаться data()? к тем что подхотяд под критерии filterAcceptCol/Row? или ко всем?
+ в отфильтрованных столбцах/строках еще будет подфильтр.
Если в кратце, то в одной ячейке могут отображаться данные нескольких объектов (допустим их имена, если несколько то, то через слеш). одному объекту могут принадлежать от 0 до n ячеек. Фильтруем по объекту. Т.е. сначала выберается все подмножество ячеек, в которые входит объект. Но в этом подмножестве будут и другие объекты + эта прямоугольная область выделения будет затрагивать и другие объекты. После того как я отбросил ненужные строки/столбцы методом filterAccept.. нужно наклонным шрифтом отобразить все ячейки, в которые не входит искомый объект, а в который входит - жирным шрифтом.


Название: Re: Как изменить формат отображения отфильтрованных данных?
Отправлено: mutineer от Октябрь 24, 2013, 08:31
Значит тебе нужно в data делать дополнительную проверку на принадлежность объекту. data модели-фильтра с ролями шрифта должна вызываться только для тех ячеек, которые в итоге попадут во view


Название: Re: Как изменить формат отображения отфильтрованных данных?
Отправлено: Fregloin от Октябрь 24, 2013, 12:02
Понятно, я думал фильтр может переопределять отображение данных, получается что нет.


Название: Re: Как изменить формат отображения отфильтрованных данных?
Отправлено: mutineer от Октябрь 24, 2013, 12:06
может конечно. Переопределяешь data у фильтра и меняешь отображение