// Псевдокодvoid MyView::onAnimationTimeout(){ foreach (registered index) { if (index is visible) { delegate = itemDelegate(index); delegate->setDrawAnimation(true); update(index); } }}
if (isDrawAnimation()) // обновляем анимацию и сбрасываем флаг анимации else // рисуем, используя данные из модели
// Псевдокодvoid MyView::onAnimationTimeout(){ foreach (registered index) { if (index is visible) { delegate = itemDelegate(index); delegate->setDrawAnimation(true); update(index); delegate->setDrawAnimation(false); // вот тут } }}
// Псевдокодvoid MyView::onAnimationTimeout(){ foreach (registered index) { if (index is visible) { delegate = itemDelegate(index); delegate->setDrawAnimation(true); const QRect& rect = visualRect(index); repaint(index); } }}
// Псевдокод repaint(index); } }}