Потому что представление каждую секунду принудительно перерисовывается. Этот способ я уже описывал.
В этом варианте мигающие элементы придется хранить и во view(очень плохо). Или по сигналу таймера вызывать repaint().
Как же Вы собираетесь организовать мигание без принудительной перерисовки с интервалом мигания ?
И зачем хранить "и во view(очень плохо)"? Чем так уж плохо хранить в модели? Ладно, почему-то не хотите, так есть масса разумных вариантов, напр.
- мне здесь нравится множественное наследование
class MyDataModel : public QAbstractItemModel, public Blinker {
И если надо через dynamic_cast узнаем, может ли таблица мигать.
- также сделать Blinker отдельным классом и модель имеет указатель на него (членство вместо наследования)
- ладно, если уж хочется "общности/универсальности" - делаем вызов какого-то virtual'a в методе модели data()
и.т.д. и.т.п.
А вообще "проблема мигания" на мой взгляд не заслуживает обсуждения, сигнал таймера можно получить где угодно. Реально-то обсуждается "как покрасить ячейку" - и здесь ходов раз-два и обчелся. Перекрыть paint (полностью) конечно можно, но это "brute force". Так что ото приспосабливайте модель - и дело с концом.