• 4277阅读
  • 1回复

[提问]QGraphicsWidget hover 负数坐标无效~ [复制链接]

上一主题 下一主题
离线xlqwe
 

只看楼主 倒序阅读 楼主  发表于: 2013-04-18
不知道各位有没有遇到过这种问题
       我现在写了一个类继承QGraphicsWidget,我需要重写hoverEnterEvent 来进行操作
       我设置了如下参数
    setAcceptedMouseButtons(Qt::LeftButton);    
    setAcceptHoverEvents(true);  
    setGeometry(-150, -150, 300, 300);    
    setCacheMode(ItemCoordinateCache);
重写
QRectF DeskItem::boundingRect() const
{
    return geometry();
}
但是问题来了,当鼠标移动到 QRect(0, 0, 150, 150)这个区域时会触发hoverEnterEvent 事件,但是在其他坐标为负的区域是不会

触发hover事件的,之纠结阿,有知道的求分享下,谢谢各位了

离线xlqwe

只看该作者 1楼 发表于: 2013-04-18
告诉大家一个好消息,我终于解决问题了,boundingRect只是一个大概的矩形,是和重绘相关的,item真正的边框是由shape决定的
所以现在我只要重写shape方法,问题就解决了~

QPainterPath DeskItem::shape() const
{
    QPainterPath p;
    p.addRect(-150, -150, 300, 300);
    return p;
}

虽然没有人顶我,还是很高兴和大家分享的~
快速回复
限100 字节
 
上一个 下一个