私はQGraphicsItems
を選択してグループとして回転させることができるアプリケーションを実装したいと思います。 QGraphicsItemGroup
にすべてのアイテムを追加できますが、各アイテムのZ-value
を保管する必要があります。出来ますか?QGraphicsItemの選択と回転
私も第2の質問があります。 私はQGraphicsItem
をいくつかの点の周りに回転しようとしています((0,0)
とは異なります - (200,150)
としましょう)。その操作の後、もう一度このアイテムを回転させたいが、今度は(0,0)
の周りに回したい。私は以下のコードを使用しています:
QPointF point(200,150); // point is (200,150) at first time and then it is changed to (0,0) - no matter how...
qreal x = temp.rx();
qreal y = temp.ry();
item->setTransform(item->transform()*(QTransform().translate(x,y).rotate(angle).translate(-x,-y)));
は、私が第2の回転後のアイテムがポイント(0,0)
の周りに他のいくつかのポイント(私はこれを知っていない)を中心に回転されていないことに気づきました。私は、私が操作の順序を変えれば、すべてがうまくいくことに気づいた。
私は間違っていますか?
のは、私を言わせて (item1 = 1、item2 = 2、item3 = 3、item4 = 4) [グループ(item1 = 1、 item3 = 3)] = 5 この操作nはitem1とitem3を私のシーンの上部に移動させます。私は、アイテムがグループ化されているかどうかにかかわらず、私のシーンの "スタックのレイヤー"を変更しないでください。 –
私はあなたが実際にやりたいことを理解していません... は、画像を描くか、問題を正確に言い換えることができます。 私が掲示したコードは、 "もう一度、今は(0,0)の周りに"グローバル座標フレームの原点を意味しない限り、あなたが望む回転(2番目の質問)を行います。 この場合、ピボット回転に似た別の回転を行いますが、ピボットを(0,0)に変更してください。 私はまだあなたが "変化していない層のスタック"とは何を意味するのか分かりません。 ピボットを中心に複数のオブジェクトを回転させて、ローカル回転を保持したいのですか? – pokey909