1.QSS样式表
只能统一设置,不够灵活
2.通过代理
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
QStyleOptionViewItem viewOption(option);
//高亮显示与普通显示时的前景色一致(即选中和未选中时候的文字颜色一样)
if(index.data(Qt::UserRole) .toInt() == 1 && index.column() == 1)
viewOption.palette.setColor(QPalette::HighlightedText, index.data(Qt::ForegroundRole).value<QColor>());
QItemDelegate::paint(painter, viewOption, index);
}