同步QGraphicsView元素

时间:2010-12-21 14:43:13

标签: c++ qt qgraphicsview

我有两个QGraphicView对象(基于相同的派生类)。它们包含不同的场景,但是一些(有时很多)项目是相同的。这些项目具有共同的坐标。我或者在同一帧内显示一个或另一个。我这样做没有遇到麻烦。

在两个图形视图中,我添加了放大和缩小的可能性,并移动了视口。我添加了一个按钮来选择要显示的显示视图。我遇到的问题是我到目前为止无法确保常用项目(同样具有相同的坐标)保持在屏幕上的相同位置。

您对如何同步两个视图有什么建议吗?

我试图使用变换矩阵来解决这个问题,现在缩放功能正常,但我仍然有翻译问题,我似乎无法摆脱它!

1 个答案:

答案 0 :(得分:2)

翻译问题可能是2个视图在更改转换后没有居中于同一点。默认情况下,锚定模式是在转换更改后将场景的中心定位到视图的中心。将transformationAnchor设为NoAnchor可能有所帮助。

您还需要确保2个场景具有相同的sceneRect。