Название: QItemDelegate выделение текста надписи при фильтрации Отправлено: demaker от Сентябрь 05, 2016, 17:12 Есть модель, у нее есть прокси модель, в которой реализован метод фильтрации
Код: void filterAcceptsRow(int , const QModelIndex); Кликаем по вьюшки вылетает окно фильтра (filterWidget) Код
при изменении текста в нем - фильтр прокси обновляется соответственно вот сам фильтр-виджет Код
и update фильтра для прокси Код
Все работает замечательно. Хочу подсвечивать текст при работе фильтра. Добавляю делегата в проксю. Код
При изменении фильтра инфа фильтруется при этом окно фильтра активно! Но текст не выделен при этом. Как только окно с вьюшкой делаю активным, текст выделен. Такое впечатление, что делегат не перерисовывается. Почему ??? Название: Re: QItemDelegate выделение текста надписи при фильтрации Отправлено: GreatSnake от Сентябрь 06, 2016, 11:22 Попробуй вместо invalidateFilter() вызвать invalidate().
Название: Re: QItemDelegate выделение текста надписи при фильтрации Отправлено: demaker от Сентябрь 06, 2016, 12:31 Попробуй вместо invalidateFilter() вызвать invalidate(). Спасибо заработало!!! А в чем фишка??? ??? Название: Re: QItemDelegate выделение текста надписи при фильтрации Отправлено: GreatSnake от Сентябрь 06, 2016, 12:44 Спасибо заработало!!! А в чем фишка??? ??? По непонятной мне причине при invalidateFilter() модель не испускает ни одного сигнала.Соответственно вьюха не обновлялась. invalidate() испускает layoutChanged(), на который завязана вьюха. Но надо иметь в виду, что вызов invalidate() может быть довольно-таки тяжелым. Вполне возможно, что намного легче из updateFilterColumn() испустить свой сигнал типа filterColumnUpdated() и за-коннектить к нему TableView::viewport()->update(). Название: Re: QItemDelegate выделение текста надписи при фильтрации Отправлено: demaker от Сентябрь 06, 2016, 13:02 Вполне возможно, что намного легче из updateFilterColumn() испустить свой сигнал типа filterColumnUpdated() и за-коннектить к нему TableView::viewport()->update(). Что не нашел такого метода viewport() в QTableView Название: Re: QItemDelegate выделение текста надписи при фильтрации Отправлено: GreatSnake от Сентябрь 06, 2016, 14:27 Код
Название: Re: QItemDelegate выделение текста надписи при фильтрации Отправлено: demaker от Сентябрь 06, 2016, 18:45 Код
Спасибо работает и через сигнал-слот! |