Чего бы я хотел достичь :
Визуальная индикация для привлечения внимания к вновь добавленным элементам в QListView. Я имел в виду, что фоновый цвет «пульсирует» один раз (исчезает от цвета к фону).
Настройка
У меня есть модель / представление, использующее QListView, отображающее QStandardItems. Qt версия 4.7
Что я пробовал:
Я создал новый класс, производный от QStyledItemDelegate. У меня есть свой собственный метод рисования для визуализации элемента. Эта часть работает. Я создал объект QTimeLine и настроил его на создание событий для перерисовки элементов.
Я не могу понять, как вызвать перерисовку элемента QListView.
В конструкторе делегата элемента:
timeLine = new QTimeLine( 3000, this );
timeLine->setFrameRange( 100, 0 );
connect( timeLine, SIGNAL( frameChanged( int ) ), this, SLOT( update() ) );
timeLine->start();
Я попытался подключиться к событию sizehintChanged, но это не работает
void myDelegate::update()
{
const QModelIndex index;
emit QStyledItemDelegate::sizeHintChanged( index );
}
Есть предложения? Можно ли это сделать с помощью таблиц стилей?