2013-10-03 14 views
0

我從QGraphicsObject繼承並創建一個具有像素圖,並將其轉換原點到一個新的類:setTransformOriginPoint工作不正常

setTransformOriginPoint(boundingRect().center()); 

但是當我打電話setRotation()上我的課(其中加入到使用場景的QGraphicsView),旋轉不使用中心作爲旋轉錨點。我怎樣才能將中心設置爲旋轉的錨?謝謝 !

更多信息:在sceneEvent函數外調用setRotation(),但在sceneEvent內部,捏合手勢時,原點不起作用。

+0

我在這裏有一個類似的問題:http://stackoverflow.com/questions/26592900/qgraphicssvgitem-positioning-after-rotation。你是否設法解決了這個問題? – flatronka

回答

0

QRect(0, 0, pixmap.width(), pixmap.height()處繪製像素圖。此矩形也用於限制矩形。使用setPos在場景周圍移動項目。使用setTransformOriginPoint(pixmap.width()/2, pixmap.height()/2)來設置原點。這些座標位於項目座標中,因此無論項目的位置如何,它們都應該指向像素圖的中心。

+0

我已經試過使用寬度()/ 2和高度()/ 2,這實際上是與boundingRact()。center()相同的值,問題是此值不受Qt我在收到捏手勢事件後調用setRotation()。謝謝 ! – Tarantula