| 54 | } |
| 55 | |
| 56 | void paint(QPainter *painter, const QStyleOptionViewItem &option, |
| 57 | const QModelIndex &index) const override |
| 58 | { |
| 59 | if (index.column() == 2) { |
| 60 | QStyleOptionViewItem opt = option; |
| 61 | initStyleOption(&opt, index); |
| 62 | |
| 63 | const QWidget *widget = opt.widget; |
| 64 | QStyle *style = widget ? widget->style() : QApplication::style(); |
| 65 | style->drawControl(QStyle::CE_ItemViewItem, &opt, painter, widget); |
| 66 | |
| 67 | const int textMargin = style->pixelMetric(QStyle::PM_FocusFrameHMargin, nullptr, widget) + 1; |
| 68 | const QRect textRect = style->subElementRect(QStyle::SE_ItemViewItemText, &opt, widget) |
| 69 | .adjusted(textMargin, 1, -textMargin, -1); |
| 70 | painter->setPen(((opt.state |
| 71 | & QStyle::State_Selected) |
| 72 | ? opt.palette.highlightedText() |
| 73 | : opt.palette.text()) |
| 74 | .color()); |
| 75 | painter->drawText(textRect, Qt::AlignBottom | Qt::AlignLeft, |
| 76 | index.sibling(index.row(), 3).data().toString()); |
| 77 | } else { |
| 78 | QStyledItemDelegate::paint(painter, option, index); |
| 79 | } |
| 80 | } |
| 81 | |
| 82 | QSize sizeHint(const QStyleOptionViewItem &option, |
| 83 | const QModelIndex &index) const override |