7

QGraphicsView でノード グラフを作成しており、現在パンニングを実装しています。次の質問「QGraphicsViewで画像をパンする方法」を使用して開始しましたが、パンはスクロールバーの範囲によって制限されています。

translate メソッドも試しましたが、同じ結果が得られます。ビューは特定の長方形に限定されます。

制限なくパンしたいのですが、グラフが非常に大きくなる可能性があり、シーンのさまざまな領域で作業できると便利です (ここにあるグラフ、あそこにある別のグラフなど)。

4

3 に答える 3

11

このビデオを見ると、3 分の時点で画面をパンするデモが表示されます。ここでのアプリケーションは私が開発したもので、表示されていませんが、パンするとボードの領域が無限に表示されます。

このために私が行ったことは、32000 x 32000 の QGraphicsScene を作成し、QGraphicsScene の中心にあるビューでアプリケーションを開始することでした。テスト チームは何年もかけてグラフィック シーンの端までパンしようとしましたが、そこにたどり着く前に誰もがあきらめました。

スクロール バー ポリシーはオフに設定され、変換は QGraphicsView をその変換関数を介して移動し、タッチまたは mouseMoveEvent に適用されるマウス移動のデルタを渡すことによって行われます。

このようにすると、スクロール バーの範囲を超えることを心配する必要がなくなり、非常に大きな QGraphicsScene を作成しても問題はありません。これは単なる座標空間だからです。

于 2013-10-07T08:35:28.123 に答える
-3

グラフをプロットしたい。この Qt ライブラリ - QCustomPlotを試してみてください。何時間もの労力を節約できます。

于 2013-10-06T19:56:07.583 に答える