I would like to draw texts in one of the columns of the QTreeView widget using a custom color (depending on the data related to each row). I tried to overload the drawRow () method and change the style parameter parameter like this (trimmed example):
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);
}
But, obviously, I am missing something because it does not work (I tried to change the color role QPalette::WindowText).
source
share