0
我正在用圓形對象編程物理模擬。我通過旋轉它們然後將它們推進到它們所面對的方向來移動我的物體,這使得物理方程很容易處理。但是現在我遇到了這樣一個問題,即我通過QRectF對象定義的圓圈圍繞它們的原點(不是它們的中心)旋轉,這看起來非常愚蠢。圍繞自定義transformOriginPoint旋轉就像旋轉標準transformOriginPoint一樣行動
我使用
setTransformOriginPoint (mapToItem(this,40,40));
setRotation(phi);
setTransformOriginPoint (mapToItem(this,0,0));
其中40/40是我的圈子中間嘗試,但它仍然轉動它圍繞原點。
我也試過
this->setTransform(QTransform()
.translate(this->boundingRect().center().x(),this->boundingRect().center().y())
.rotate(alpha)
.translate(-this->boundingRect().center().x(),-this->boundingRect().center().y()));
但是這帶來的是它並沒有改變調用對象的旋轉()時,我得到了價值的問題。我通過將我當前的旋轉保存在我的對象中來解決這個問題,但是這個字符串似乎只在我第一次在構造函數中調用它時起作用,之後它完全消失,例如旋轉0會導致目的。