为什么委托无法识别mouseOver状态?

时间:2018-08-08 09:33:33

标签: qt delegates mouseover qstyleditemdelegate qstyle

我创建了一个委托,需要识别mouseOver状态才能建立效果。但这行不通。 当我的表格出现时,输出是这样的 enter image description here

当我将鼠标移到桌子上时,输出是这样的 enter image description here

我没有看到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 ) );
  }
}

1 个答案:

答案 0 :(得分:0)

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

position: fixed;
z-index: 110;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: white;
overscroll-behavior-y: none;
z-index: 115;
display: flex;
overflow: hidden;
flex-direction: column;
justify-content: space-between;