我有一个图形场景和一个视图,
myScene = new QGraphicsScene(this);
ui->graphicsView->setScene(myScene);
..
myWidget = new QGraphicsWidget();
我想将我的wdget放在我的鼠标所在的位置,即:
myWidget->setPos(ui->graphicsView->mapFromGlobal(QCursor::pos()));
我的意思是,我不想继承我的QGraphicsScene或ui-> graphicsView。我只想将鼠标位置传递给我的Widget。然而,上面的行不会把它放在光标下面,我想知道为什么!?
我可以将光标位置映射到场景坐标吗?
答案 0 :(得分:0)
答案是:
QPoint viewPoint = ui->graphicsView->mapFromGlobal(QCursor::pos());
QPointF scenePoint = ui->graphicsView->mapToScene(viewPoint);
myWidget->setPos(scenePoint);