从鼠标设置 QGraphicsScene 的小部件坐标

Set QGraphicsScene's widget coordinates from mouse

我有一个图形场景和一个视图,

myScene = new QGraphicsScene(this);
ui->graphicsView->setScene(myScene);
..
myWidget = new QGraphicsWidget();

并且我想将我的 wdget 放在鼠标所在的位置,即:

myWidget->setPos(ui->graphicsView->mapFromGlobal(QCursor::pos()));

我的意思是,我不想子类化我的 QGraphicsScene 或 ui->graphicsView。我只想将鼠标位置传递给我的小部件。然而,上面的行没有把它放在光标下,我想知道为什么!?

我可以将光标位置映射到场景坐标吗?

答案是:

QPoint viewPoint = ui->graphicsView->mapFromGlobal(QCursor::pos());
QPointF scenePoint = ui->graphicsView->mapToScene(viewPoint);
myWidget->setPos(scenePoint);