我正在 QGraphicsView 中构建节点图,目前正在实现平移。
我使用以下问题“how to pan images in QGraphicsView”开始,但平移受滚动条范围的限制。
我也尝试了 translate 方法,但它给出了相同的结果。 View 仅限于某个矩形。
我想无限制地平移,图形可以变得非常大,并且能够在场景的不同区域工作(这里有一个图形,那里有另一个图形等)是很有用的。
最佳答案
如果你看看this video ,在 3 分钟标记处,您将看到平移屏幕的演示。这里的应用程序是我开发的,虽然它没有显示,但在平移时,电路板的空间似乎是无限的。
我为此所做的是创建一个 32000 x 32000 的 QGraphicsScene,并以 QGraphicsScene 中心的 View 启动应用程序。测试团队花了很长时间试图平移到图形场景的边缘,但在到达那里之前每个人都放弃了 - 也许场景可以更小!
滚动条策略设置为关闭,转换是通过通过其转换函数移动 QGraphicsView 来完成的,传递在 mouseMoveEvent 中应用的触摸或鼠标移动的增量。
这样做,您不必担心超出滚动条范围,并且创建非常大的 QGraphicsScene 没有问题,因为它只是一个坐标空间。
关于qt - 如何在 QGraphicsview 中平移超出滚动条范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19207153/