class DD : public QStyledItemDelegate
{
public:
DD();
// QAbstractItemDelegate interface
public:
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const Q_DECL_OVERRIDE;
};
// DD_H
void DD::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
QTextOption op;
op.setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
QFont font;
font.setFamily("Microsoft YaHei");
font.setPixelSize(14);
painter->setFont(font);
//判断当前 item 是否选中
if (option.state & QStyle::State_Selected) {
//当前 item 被选中,高亮
// painter->fillRect(option.rect, option.palette.highlight());
//自定义选中背景色
painter->fillRect(option.rect, QBrush(Qt::gray));
}
painter->drawText(option.rect, index.data(Qt::DisplayRole).toString(), op);
}