【问题标题】:Synchronize QGraphicView elements同步 QGraphicView 元素
【发布时间】:2010-12-21 14:43:13
【问题描述】:

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

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

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

我尝试使用变换矩阵来解决这个问题,并且缩放现在可以工作,但我仍然有一个我似乎无法摆脱的翻译问题!

【问题讨论】:

    标签: c++ qt qgraphicsview


    【解决方案1】:

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

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

    【讨论】:

    • 您关于使用 sceneRect 的建议立即奏效。谢谢 !我不必尝试使用 transformationAnchor。
    • 同步滚动条位置后,它现在可以正常工作了!
    猜你喜欢
    • 1970-01-01
    • 2015-04-20
    • 1970-01-01
    • 2021-03-20
    • 2021-10-06
    • 2014-02-02
    • 2012-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多