如何在QGraphicsView上使用mouseEvent

时间:2016-07-19 08:06:00

标签: c++ qt

我有一个继承QGraphicsView的课程,我想在此课程中添加mousePressEvent
我怎么能这样做?

这是我的功能:

void mousePressEvent(QGraphicsSceneMouseEvent *event) {
    cards[0]->setPos(event->pos());
    scene->addItem(cards[0]);
}

其中cards[0]QGraphicsPixmapItem,但它不起作用。

1 个答案:

答案 0 :(得分:1)

我认为您mousePressEvent函数中的参数类型错误。

QGraphicsView中,您必须使用mousePressEvent(QMouseEvent*)而不是mousePressEvent(QGraphicsSceneMouseEvent*)mousePressEvent(QGraphicsSceneMouseEvent*)QGraphicsScene的方法,而不是QGraphicsView的方法。