如何在QGraphicsview中超越滚动条范围?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在QGraphicsview中超越滚动条范围?相关的知识,希望对你有一定的参考价值。
我正在QGraphicsView中构建节点图,我正在实现平移。我使用了以下问题“how to pan images in QGraphicsView”开始,但是平移受滚动条范围的限制。
我也尝试了翻译方法,但它给出了相同的结果。视图仅限于某个矩形。
我想无限制地平移,图形可以变得非常大,并且能够在场景的不同区域工作是有用的(这里有一个图形,那里有另一个图形等)。
如果你看看this video,在3分钟的标记处,你会看到演示平移屏幕。这里的应用程序是我开发的应用程序,虽然它没有显示,但是在平移时,电路板的不动产似乎是无限的。
我为此做的是创建一个32000 x 32000的QGraphicsScene,并以QGraphicsScene中心的视图启动应用程序。测试团队花了很多时间尝试平移到图形场景的边缘,每个人都在放弃之前放弃了 - 也许场景可能更小!
滚动条策略设置为关闭,并通过移动QGraphicsView的translate函数完成转换,传递在mouseMoveEvent中应用的触摸或鼠标移动的增量。
通过这种方式,你不必担心超出滚动条范围,并且创建一个非常大的QGraphicsScene没有问题,因为它只是一个坐标空间。
我遇到了同样的问题。然而,将场景设置为大而且离开它我不认为是最好的选择。我开发了一种动态的方式来改变场景大小,让你可以自由移动。你可以在这个其他堆栈溢出answer中找到它。
你想绘制图表。尝试这个Qt库 - QCustomPlot,它将为您节省数小时的努力。
以上是关于如何在QGraphicsview中超越滚动条范围?的主要内容,如果未能解决你的问题,请参考以下文章