qgraphicsview判断右键点到item
时间: 2023-12-07 22:03:23 浏览: 72
现QGraphicsItem的鼠标事
您可以通过重新实现`QGraphicsItem::contextMenuEvent()`函数来判断右键是否点击到了该item。具体实现方式如下:
1.在您的item中重新实现`contextMenuEvent()`函数。
```c++
class MyItem : public QGraphicsItem
{
public:
...
protected:
void contextMenuEvent(QGraphicsSceneContextMenuEvent *event) override;
};
```
2.在函数中判断鼠标右键是否在item的边界内。
```c++
void MyItem::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
{
if (event->reason() == QGraphicsSceneContextMenuEvent::Mouse)
{
if (boundingRect().contains(event->pos()))
{
// 右键点击在item内部,执行你的操作
...
}
}
}
```
这样,当您在QGraphicsView中右键点击该item时,就会调用到`contextMenuEvent()`函数,然后再根据鼠标的位置判断是否在item内部,从而决定是否执行您的操作。
阅读全文