QGraphicsView 的功能

QGraphicsView用于展示QGraphicsScene内容,提供滚动查看功能。通过创建QGraphicsView对象并设置scene,调用show()显示。它可以中心对齐特定点或QGraphicsItem,确保区域可见。视图可通过setSceneRect()定制显示区域,支持仿射变换,并允许通过setViewport()更换视口部件,如使用OpenGL渲染。QGraphicsView将输入事件转换为场景事件,使得与scene中的item进行交互成为可能,如选择和移动item。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

QGraphicsView

提供一个窗口来展示QGraphicsScene的内容,它将QGraphicsScene的内容在一个可滚动的视口中。

可视化一个scene,首先要构建一个QGraphicsView的对象view,再将需要可视化的scene地址传入其构造函数中,此外也可以使用setScene(),将scene指针做为参数。随后调用show()函数,view就会默认滚动到场景中央,并展示其周围的item。

QGraphicsScene scene;
scene.addText("Hello,world!");
QGraphicsView view(&scene);
view.show();

可以使用滚动条至scene的任意位置,也可以传一个点至centerOn中,QGraphicsView会滚动视口,确保这个点在视图的中央。

该函数的一个重载函数是将一个QGraphicsItem作为参数,view会以这个item为中心展示。如果要确定某一区域是否可视,调用ensureVisible()。

QGraphicsView可以可视化一整个scene,也可以可视化部分。默认情况下,当视图第一次显示时(通过调用QGraphicsScene: : itemsBoundingRect())自动检测到可视化区域,自行设置可视化区域,可以调用setSceneRect()。这个函数将调整滚动条的范围。

虽然场景可视化没有尺寸限制,但是滚动条的范围不能超过整数范围(INT_MIN,INT_MAX)

QGraphicsView通过调用render()可视化scene。在默认情况下,item是使用QPainter绘制在视口上的,并且使用默认的render hints(设置渲染时的一些属性,如是否使用反抗锯齿,缩放时是否使用平滑变换等),更改传递给QPainter的render hits,使用函数setRenderHints()。

默认情况下,QGraphicsView提供一个QWidget给视口部件。我们可以通过调用viewport()获取这

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值