Cor de texto personalizada para determinados índices no QTreeView

Eu gostaria de desenhar textos em uma das colunas em um widget do QTreeView usando uma cor personalizada (dependendo dos dados relacionados a cada linha). Eu tentei sobrecarregar o método protegido drawRow () e alterar o parâmetro de opção de estilo como este (um exemplo simplificado):

virtual void drawRow(QPainter* p_painter, const QStyleOptionViewItem& option,
                     const QModelIndex& index) const
{
    QStyleOptionViewItem optionCustom = option;
    if (index.column() == 2)
    {
        optionCustom.palette.setColor(QPalette::Text, Qt::red);
    }
    QTreeView::drawRow(p_painter, optionCustom, index);
 }

Mas obviamente eu estou perdendo alguma coisa porque isso não parece funcionar (eu tentei mudar também oQPalette::WindowText papel colorido).

questionAnswers(1)

yourAnswerToTheQuestion