【发布时间】:2020-07-20 23:30:11
【问题描述】:
我已经对QStyledItemDelegate 进行了子分类(只是绘制功能)并应用于我的QTableview 以及我的自定义QAbstractTableModel 模型以获取数据。
表格的单元格绘制正确,选中时也是如此,但鼠标悬停的颜色不是。我想念什么?
这是绘画功能。单元格都是黑色的,选中的变为绿色,但是当鼠标悬停在任何单元格上时,我没有得到红色。
void Mydelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
painter->save();
if (option.state & QStyle::State_MouseOver) {
painter->fillRect(option.rect, QColor(Qt::red));
} else if (option.state & QStyle::State_Selected) {
painter->fillRect(option.rect, QColor(Qt::green));
} else painter->fillRect(option.rect, QColor(Qt::black));
painter->restore();
}
【问题讨论】:
标签: c++ qt qstyleditemdelegate