私は、ビューに実行時にアイテムを追加するためにグラフィックスビューフレームワークを使用しています。アイテムは垂直レイアウトのように1つ下に配置されます。サイズ変更中のQGraphicsView内のアイテム位置のマージン
私は常に自分のアイテムをシーンの開始位置に配置します(10,10)。ビューのサイズを変更しながら、マージンが調整されています。ビューウィンドウのサイズが変更されるたびに同じマージンを維持する方法は?
私はGoogleで検索して
QTransform Matrix(1, 0, 0, 0, 1, 0, 0, 0, 1);
Matrix.scale(width()/sceneRect().width(), height()/sceneRect().height())
setTransform(Matrix);
は余裕を復元するのに役立ちますが、それはまた、ビューの高さ比に基づいて項目を縮小しました。
ビューウィジェットが縮小または拡大しても、常に同じアイテムサイズを維持したいと考えていました。スクロールバーが表示されます。
ご返信ありがとうございます。はい、私はシーンにアイテムを追加しています。シーン座標が(0,0,1000,1000)であるとすると、マージンギャップを維持するためにQPoint(18,12)にアイテムを配置しました。ビューウィンドウのサイズを変更すると、これらの余白が増えています。私が追加したコード行はマージンを維持するのに役立つだけでなく、アイテムをスケーリングしますが、私はアイテムの縮小を無視しなければなりません。 – Wagmare
私は絶対に確実にコードを書く必要がありますが、それらの変換行列の値を調べると、ビューのサイズを変更するときに、縮尺係数(m11とm22)を同じにしておきたいと思うでしょう。私はあなたがQGraphicsViewをサブクラス化し、resizeEventをオーバーライドする必要があると思うし、そこにQGraphicsViewスケールファクタをリセットします。 – goug
私はそれをgougと確信しています..ありがとう。私はあなたの推薦に従って更新し、ここに返信します。 – Wagmare