qt - 为什么委托无法识别状态mouseOver?
问题描述
我创建了一个委托,需要识别 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 ) );
}
}
解决方案
好的,我需要一段时间才能发现我需要将此行添加到 myTable.cpp
myTable->viewport()->setAttribute( Qt::WA_Hover );
推荐阅读
- javascript - React setstate on an array value 修改数组常量的值
- spring-data-couchbase - 春季数据 CouchBase deleteAllByXXId 或 deleteByXXIdis 不起作用
- charts - 如何将重置缩放按钮和标题设置为高图表的中心
- java - 如何对字符串集合的集合进行排序?
- cmake - 如何从 cmake 运行复合脚本语句?
- ios - HealthKit - 在 HKWorkoutSession 期间更改 HKWorkoutConfiguration?
- python - Sklearn 随机森林在预测上比训练花费更多的时间
- c# - 如何登录用户对持久层的声明(洋葱架构)
- node.js - 前端 API 调用接收 403 错误状态
- flutter - Flutter 在尝试查找包时遇到套接字错误