qt qgraphicsview中的图元点击没有反应
时间: 2023-07-13 13:24:28 浏览: 161
现QGraphicsItem的鼠标事
出现这种情况可能是因为您没有为图元设置响应点击事件。您可以通过以下几个步骤来实现:
1. 确认您的图元类继承自QGraphicsItem类,例如QGraphicsRectItem或QGraphicsPixmapItem。
2. 在图元类中重新实现mousePressEvent(QGraphicsSceneMouseEvent *event)方法。
3. 在mousePressEvent方法中添加您需要执行的操作,例如发出信号或更改图元属性。
以下是一个简单的示例代码片段,展示了如何在图元被点击时发出一个信号:
```
class MyItem : public QGraphicsRectItem
{
public:
MyItem(QGraphicsItem *parent = nullptr) : QGraphicsRectItem(parent) {}
protected:
void mousePressEvent(QGraphicsSceneMouseEvent *event) override
{
emit clicked();
}
signals:
void clicked();
};
```
在您的场景中,您可以将该图元添加到视图中并连接clicked()信号以执行您需要的操作。
阅读全文