【问题标题】:Why does delegate not recognize the state mouseOver?为什么委托无法识别状态mouseOver?
【发布时间】:2019-01-15 12:23:54
【问题描述】:

我创建了一个委托,需要识别 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 ) );
  }
}

【问题讨论】:

    标签: qt delegates mouseover qstyleditemdelegate qstyle


    【解决方案1】:

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

    myTable->viewport()->setAttribute( Qt::WA_Hover ); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多