qt - 如何在 QGraphicsview 中平移超出滚动条范围?

标签 qt pyside qgraphicsview

我正在 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/

相关文章:

python - 按字母数字列对 PySide.QtGui.QTreeWidget 进行排序

c++ - 如何使用 QPaint 创建这样的圆圈

python - 使用不同类的函数来连接信号

qt - QGridLayout 去掉间距

python - PySide 是否支持 Python 3?

qt - 在 QGraphicsView 上绘制小部件(例如按钮)

python - 使用 QGraphicsScene::addItem 将 QPixmap 项添加到 QGraphicsScene 会导致 PySide 崩溃

qt - QComboBox 的弹出窗口作为 QGraphicsProxyWidget 被遮挡/相交

c++ - QGamePadManager connectedDevices 为空,但 Windows 检测到游戏 handle

c++ - 生产者和消费者优化