0

我创建了一个委托,需要识别 mouseOver 状态来构建效果。但它不起作用。当我的表出现时,输出是这样的 在此处输入图像描述

当我将鼠标移到桌子上时,输出是这样的 在此处输入图像描述

我没有看到状态 MouseOver。我怎样才能认出它?

void TableDelegate::paint( QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index ) const
{
  qDebug() << option.state;
  if ( option.state == QStyle::State_MouseOver )
  {
     painter->fillRect( option.rect, QColor( 249, 126, 18 ) );
  }
}
4

1 回答 1

4

好的,我需要一段时间才能发现我需要将此行添加到 myTable.cpp

myTable->viewport()->setAttribute( Qt::WA_Hover ); 
于 2018-08-08T11:03:40.393 回答