Я подклассифицировал 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();
}