我有以下代碼:瞭解Qt的圖形視圖座標系統
QGraphicsScene* pScene = new QGraphicsScene(this);
ui->graphicsView->setScene(pScene);
pScene->addRect(0, 0, 200, 200);
QGraphicsRectItem* pRect1 = pScene->addRect(40, 40, 100, 100);
QGraphicsRectItem* pRect2 = new QGraphicsRectItem(20, 20, 19, 19, pRect1);
QPointF pf1 = pRect1->pos();
QPointF pf2 = pRect2->pos();
QPointF pf3 = pRect2->mapFromParent(pRect1->pos());
QPointF pf4 = pRect2->mapToParent(pRect2->pos());
QPointF spf1 = pRect1->scenePos();
QPointF spf2 = pRect2->scenePos();
沒什麼特別的,只是一個QGraphicsScene的QGraphicsView和幾個QGraphicsRectItem(S)。 問題:爲什麼執行後所有的點(pf1,pf2,pf3,pf4,甚至是spf1,spf2)都等於QPointF(0.0,0.0)?
我正在使用Qt 5.4.1。
從我的理解來看,spf1必須是QPointF(40.0,40.0),而spf2必須是QPointF(20.0,20.0)。