【发布时间】:2016-04-15 17:14:19
【问题描述】:
我创建了一个 QGraphicsView,上面设置了一个带有 QGraphicsRectItem 的场景。
[图-1]
我希望当我双击标有黑色粗边框的绿色矩形时,场景只被这个矩形填充,并且它的所有子元素也以相同的比例展开。
所以,当我双击时,我应该会在完整视图中看到类似这样的内容:
我已经处理了双击事件,但不知道如何处理。
另外,当我再次双击时,我又回到了之前的状态(如图1)
【问题讨论】:
-
你试过 QGraphicsItem::setScale() 吗?
-
是的..这不起作用....这个想法是除了这个特定的项目之外,场景中不应有任何其他项目。
-
QGraphicsItem::setScale()有什么问题? -
@Tomas :它不会删除场景的其他部分。因此,在我的例子中,如上图 1 所示,应删除象限 1、2 和 4 中的矩形,而上象限 2(如图 2 所示)中的矩形应占据完整的场景空间。
-
好吧,你总是可以用
QGraphicsITem::hide()方法隐藏其他部分。
标签: qt qgraphicsview qgraphicsitem qgraphicsscene