Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在QGraphicsView上使用MouseeEvent_C++_Qt - Fatal编程技术网

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中的项目吗?也许当您执行初始化步骤时?