从鼠标设置 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);
我有一个图形场景和一个视图,
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);