« 2012年9月 | トップページ

2012年10月

2012年10月27日 (土)

QGraphicsSceneを複数のQGraphicsViewから参照したとき

一つのQGraphicsSceneを複数のQGraphicsViewを参照することができます。各々のViewに対して操作を行えば、下記のようなMulti Viewが簡単にできあがります。
M_view_sample01
さて、ここで、Sceneに対する操作を考えます。あるViewでは、グリッドを表示させますが、別のViewでは、グリッドを表示させないというのはどうすればいいでしょうか。
これは、各ViewのQGraphicsView::viewport()のPaintイベントを捕まえて、その中で、SceneのItemの表示を切り替えてあげればいいみたいです。
以下、実行結果です。
M_view_sample02
Multi Viewを考えたとき、Sceneに対する操作が障害となっており、各々のViewに各々のSceneを設定して、Sceneの同期機構を組もうかと思っていましたが、無事解決できました。

| | コメント (0) | トラックバック (0)

« 2012年9月 | トップページ