C++ 如何在QGraphicsView上使用MouseeEvent
我有一个继承了C++ 如何在QGraphicsView上使用MouseeEvent,c++,qt,C++,Qt,我有一个继承了QGraphicsView的类,我想在这个类上添加mousePressEvent。 我该怎么做 这是我的职责: void mousePressEvent(QGraphicsSceneMouseEvent *event) { cards[0]->setPos(event->pos()); scene->addItem(cards[0]); } 其中,cards[0]是一个QGraphicsPixmapItem,但它不起作用。我认为您的mousepr
QGraphicsView
的类,我想在这个类上添加mousePressEvent
。我该怎么做 这是我的职责:
void mousePressEvent(QGraphicsSceneMouseEvent *event) {
cards[0]->setPos(event->pos());
scene->addItem(cards[0]);
}
其中,
cards[0]
是一个QGraphicsPixmapItem
,但它不起作用。我认为您的mousepress
函数中的参数类型错误
在
QGraphicsView
中,您必须使用mousePressEvent(QMouseEvent*)
而不是mousePressEvent(qgraphicscenemouseevent*)
。mousePressEvent(qgraphicscenemouseevent*)
是qgraphicscene
的一种方法,而不是QGraphicsView
到目前为止您尝试了什么?除非您展示一些相关的代码并更详细地描述问题,否则很难提供帮助。@G.M.这是我的代码!你能提供将QGraphicsPixmapItem(卡片[0])添加到场景中的代码吗?@KirillChernikov当然,再次查看我的代码。奇怪的是,每次按下鼠标时,你都会将项目添加到场景中。您可以尝试添加不在mousePressEvent中的项目吗?也许当您执行初始化步骤时?