1

QGraphicsItem私はそれによって、Qt::YAxis非常にうまく機能するものを変換したいと思います。

QTransform trans;
trans.rotate (value, Qt::YAxis);
item->setTransformOriginPoint (0,0);
//item->setTransformOriginPoint (500, 250);
item->setTransform (trans);

私が抱えている問題は、それがsetTransformOriginPoint機能しないために無視されているように見えることです。私のアイテムが左側で変形するたびに。しかし、私はそれを右側で変換したいと思っており、このバグの影響を受けていると思います:

https://bugreports.qt-project.org/browse/QTBUG-13378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel

誰かがこのような同様の問題を確認できますか?

または、アイテムを右側に変換するために何ができますか?

編集:申し訳ありませんが、このバグレポートで説明されているようなアニメーションを使用していないと言うのを忘れました!

4

1 に答える 1

2

AQTransformには変換に関するすべてが含まれており、変換を実行する起点が含まれています。オリジンを指定しないsetTransformOriginPoint()ような単純な関数にのみ影響します。rotate()

rotate() を追加する前に QTransform に translate を追加してみてください。

QTransform trans;
trans.translate(500, 250).rotate(value, Qt::YAxis);
item->setTransform(trans);

編集:

はい、QTransformin のQGraphicsItem使い方は簡単ではありません。また、できることは本当に限られています。Qt 4.6 以降でQGraphicsTransformは、変換のより高いレベルの制御に使用できます。それがあなたが探しているものかもしれません。

于 2012-08-04T19:17:11.500 に答える