在QGraphicsView中获取QGraphicsScene的可见区域

red*_*aks 2 c++ qt qt4 qgraphicsview

如果我将pixmap设置QGraphicsScene为比窗口大的那个,它会添加滚动条,那么是否可以获得显示的内容QGraphicsView

滚动和更改显示区域时是否有任何事件?

这是我正在谈论的屏幕: 在此输入图像描述

谢谢

Pav*_*hov 10

您可以在场景坐标中确定可见区域,如下所示:

QRect viewport_rect(0, 0, view->viewport()->width(), view->viewport()->height());
QRectF visible_scene_rect = view->mapToScene(viewport_rect).boundingRect();
Run Code Online (Sandbox Code Playgroud)

您可以使用QGraphicsItem::mapFromScene将场景坐标转换为项目坐标是必要的.

您可以使用view->horizontalScrollBar()view->verticalScrollBar()获取QScrollBar*对象.连接到valueChanged(int)这些对象的信号以跟踪滚动.