Qt 用于单击的自定义QGraphicsItem mousePressEvent仅在双击时有效

Qt 用于单击的自定义QGraphicsItem mousePressEvent仅在双击时有效,qt,mouseevent,qgraphicsitem,Qt,Mouseevent,Qgraphicsitem,我有下面的mousePressEvent,它工作正常,但只有在双击鼠标时,我希望它只在单击鼠标按钮时工作 void MapNode::mousePressEvent(QGraphicsSceneMouseEvent *event) { isClicked *= -1; QGraphicsItem::mousePressEvent(event); update(); } 感谢我在自定义QGraphicsView的父级中有一个MousePresseEvent,它是一个自定义

我有下面的mousePressEvent,它工作正常,但只有在双击鼠标时,我希望它只在单击鼠标按钮时工作

void MapNode::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
    isClicked *= -1;
    QGraphicsItem::mousePressEvent(event);
    update();
}

感谢

我在自定义QGraphicsView的父级中有一个MousePresseEvent,它是一个自定义QGraphicsView,只需在自定义QGraphicsView MousePresseEvent中添加以下方法开头的代码行:
QGraphicsView::MousePresseEvent(事件),所以现在单击就可以了,可能是父节点上的事件阻止了子节点上的事件。

我的自定义QGraphicsSitem的父节点中有一个MousePresseEvent,这是一个自定义QGraphicsView,只需在自定义QGraphicsView MousePresseEvent中添加方法开头的以下代码行:
QGraphicsView::MousePresseEvent(事件),所以现在单击可以正常工作,可能是父对象上的事件阻止了子对象上的事件。

所以您在方法中放入了调试输出或断点,并确认只有在双击时才调用它?是的,我确实在方法中放入了断点,并且只有在双击时才调用它:S但我确实注意到了一些事情,我有一个自定义的QGraphicsView(其中包含包含所有自定义QGraphicsItem的场景),它也调用mousePressEvent,自定义的QGraphicsView mousePressEvent只需单击一次即可工作。因此,您在方法中加入了调试输出或断点,并确认只有在双击时才会调用它?是的,我确实在方法中放置了断点,并且只有在双击时才会调用它:S但我确实注意到,我有一个自定义QGraphicsView(其中包含所有自定义QGraphicsSitem的场景),它也调用MousePresseEvent,而定制的QGraphicsView MousePresseEvent只需单击一下即可工作。