Название: Кнопка freeze для Model-View Отправлено: UVV от Февраль 12, 2015, 17:00 Привет.
Есть список некоторых данных, скажем 100. Данные отображаются в 2-х tableView, в одном все, в другом только последняя строка. Когда приходит новая порция, то старые с начала списка выбрасываются, а новые пишутся в конец. Теперь такой нюанс, у первого View есть кнопка freeze, т.е. данные должны замереть. Во втором же view так и должны проскакивать новые. Чтобы это решить, я сделал атрибут visible в данных, а для первой view использую FilterModel, в которой фильтрую те, которые не должны быть видны, пока freeze активна. Когда убираешь freeze, то новым делается setVisible(true). Вопросы вот в чём. - Чтобы иметь какой-то буфер, я установил количество видимых элементво в уже упомянутые 100, а верхнуюю границу контейнера (т.е. когда старые нужно выбрасывать) в два раза больше. Нормальный ли подход или как-нибудь по-другому посоветуете? - В данной реализации фильтр работает так: Код: bool FilterModel::filterAcceptsRow Почему-то, когда в модели делаю emit dataChanged(), т.е. хочу, чтобы те, которые были невидимы, отобразились - не работает. Приходится делать filterModel->invalidate(); отбой dataChanged() нормально работает, ошибку нашёл =) Название: Re: Кнопка freeze для Model-View Отправлено: Fregloin от Февраль 13, 2015, 11:55 mapFromSource/mapToSource заюзали?
Название: Re: Кнопка freeze для Model-View Отправлено: UVV от Февраль 13, 2015, 11:56 mapFromSource/mapToSource заюзали? Нет, зачем? |