0

QGraphicsPolygonItem (objectA) に次の特性があるアプリケーションがあります。

シーン位置: X=250 Y=125

変身():

|----|---|---|
| 2  | 0 | 0 |
| 0  | 1 | 0 |
| 50 | 0 | 1 |
|----|---|---|

今、私は新しい QGraphicsPolygonItem (objectB) を作成し、そのシーンポスと変換をオブジェクト A と同じに設定しています:

objectB = new QGraphicsPolygonItem();
objectB->setPolygon(objectA->polygon());
objectB->setScenePos(objectA->ScenePos);
objectB->setTransform(objectA->transform);

問題は、objectB が ObjectA から X 軸方向に 50 単位移動することです。

理由はありますか?

4

1 に答える 1

0

これは、scenePos() が変換行列を考慮せずにシーン内のオブジェクトの絶対位置を取得するために発生します。pos() を使用して動作します。

カルロス。

于 2010-10-04T12:37:59.680 に答える