Подкласс Qt C ++ QStyledItemDelegate - Наведите курсор на рисование - PullRequest
0 голосов
/ 08 апреля 2020

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

}

1 Ответ

0 голосов
/ 08 апреля 2020

Ок, извини, разобрался. Забыл добавить отслеживание мыши в моем окне просмотра

ui->table->setMouseTracking(true);

Извините, отметьте это как Решено (или даже удалите мой пост, если он бесполезен)

...