так чтобы ровно между символами? Ну разве что если шритф моноширинный (а может отключение хинтинга поможет). Иначе ширина частей строки не равна суммарной ширине. И еще стиль может рисовать текст с отступом от края ячейки даже при включенном выравнивании влево.
Заглянув в исходники QStyledItemDelegate, я попробовал вот так:
C++ (Qt)
...
QStyleOptionViewItemV4 opt = option;
initStyleOption(&opt, index);
myRect.setX(opt.rect.x() + opt.fontMetrics.width(l));
myRect.setWidth(opt.rect.width() - opt.fontMetrics.width(l));
painter->fillRect(myRect, Qt::green);
const QStyleOptionViewItemV3 *v3 = qstyleoption_cast<const QStyleOptionViewItemV3 *> (&option);
const QWidget *widget = v3->widget;
QStyle *style = widget ? widget->style() : QApplication::style();
style->drawItemText(painter,
opt.rect,
Qt::AlignLeft | Qt::AlignVCenter,
palette,
true,
text);
...
Но как я понял, оно будет зависеть от текущего стиля и не на всех системах будет вести себя одинаково
У меня на Linux отображается так, как надо, а на Windows закрашиваются те же пол-символа.