Можно же просто через стиль рисовать QStyle::CE_ProgressBar, но нужно переопределять еще sizeHint чтобы хватало места.
В общем я метод Paint переписал создав своего делегата. Остальные методы не переопределял, правильно ли делегат будет работать?
Вот собственно код:
void ProgressBarDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
QVariant value = index.model()->data(index,Qt::DisplayRole);
QStyleOptionProgressBar Option;
Option.rect = option.rect;
Option.maximum=100;
Option.minimum=0;
Option.progress=int(value.toInt()/100);
Option.text=QString().setNum(value.toInt()/100)+"%";
Option.textVisible=true;
QApplication::style()->drawControl(QStyle::CE_ProgressBar,&myOption,painter);
}
Мне он нужен для отображения данных в таблице (только статика).