找回密码
 立即注册
收起左侧

QGraphicsItem重叠和包含问题

1
回复
10549
查看
[复制链接]
累计签到:4 天
连续签到:1 天
来源: 2018-10-27 11:09:36 显示全部楼层 |阅读模式
1Qter豆
各位,请教一个问题,创建多个同类型的QGraphicsItem的时候,好像存在一个优先级,先创建的优先级最低,当图元重叠的时候,低优先级的图元的HoverEnterEvent就不会响应了。
有遇到类似的问题么?同类型图元的zvalue是一样的
我想这些同类图元都是一视同仁,当外部图元包含里面图元的时候,里面图元的HoverEnterEvent事件也正常响应。

回复

使用道具 举报

累计签到:41 天
连续签到:1 天
2018-10-30 15:05:19 显示全部楼层
// item.h
class CItem : public QGraphicsitem {
......
public:
    virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *event);private:
    void hoverEnterEventHandle(QGraphicsSceneHoverEvent *event)

};


// item.cpp
void CItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event) {
    QList<QGraphicsItem*> lst = scene()->items();
    QList<QGraphicsItem*>::iterator iteLst = lst.begin();
    for (; iteLst != lst.end(); iteLst++) {
        CItem* pItem = dynamic_cast<CItem*>(*iteLst);
        if (NULL != pItem) {
            pItem->hoverEnterEventHandle(event);
        }
    }
}

void CItem::hoverEnterEventHandle(QGraphicsSceneHoverEvent *event) {
    // todo.当鼠标悬浮进入时,你需要做的处理。
};


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了