如何在 QGraphicsView::Scale 之后调整 QGraphicsView 的大小
Posted
技术标签:
【中文标题】如何在 QGraphicsView::Scale 之后调整 QGraphicsView 的大小【英文标题】:How to resize a QGraphicsView after QGraphicsView::Scale 【发布时间】:2012-01-16 13:35:59 【问题描述】:在调用 scale() 后是否有不可怕的方法来调整 QGraphicsView 的大小。
我的 QGraphicsView 嵌入在 QScrollArea 中。当我缩放时,我希望视图变大。
谢谢
【问题讨论】:
【参考方案1】:QGraphicsView
本身继承自 QAbstractScrollArea
。将其嵌入另一个 QScrollArea
会很奇怪,并且很可能是您的问题的根源。默认情况下,当您缩放比显示它的QGraphicsView
更大的QGraphicsScene
时,它将显示必要的滚动条。
【讨论】:
好的,但是对于一个小的 QGraphicsView,当我缩放时,我希望视图增长。现在只出现滚动条,视图保持其初始大小 哦,好的。嗯......你必须继承QGraphicsView
并重新实现一些功能。我的猜测是sizeHint
,也可能是resizeEvent
或viewportEvent
。 sizeHint 将基于场景的 boundingRect。然后,嵌入它的布局可以让视图根据需要拥有更多空间。
顺便说一句,视图是否与窗口上的其他小部件竞争空间?即使渲染的场景较小,您是否有理由不希望它尽可能大?
它在 QFrame 的 Gridlayout 中。我没有看到任何可以阻止调整大小的东西
我试过 QGraphicsViewresize(scene->itemsBoundingRect() 没有任何反应:/以上是关于如何在 QGraphicsView::Scale 之后调整 QGraphicsView 的大小的主要内容,如果未能解决你的问题,请参考以下文章