Вот таким образом окрашивает всю QTableView, поскольку index всегда valid:
 void ViewDelegate::paint ( QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index ) const
{
        QString text = index.data().toString();
    if (index.isValid())) painter->fillRect(option.rect, QColor(255, 0, 0, 255));    
    drawDisplay(painter, option, option.rect, text);
    drawFocus(painter, option, option.rect);
} 
Нужно, чтобы окрашивало кликанные ряды таблицы:
void ViewDelegate::paint ( QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index ) const
{
    QString text = index.data().toString();




    painter->fillRect(option.rect, QColor(255, 0, 0, 255));

 
    

    drawDisplay(painter, option, option.rect, text);
    drawFocus(painter, option, option.rect);
}
Помогите, пожалуйста, заполнить с этим граничным условием.