使 QGraphicsItemGroup 的子级不可选择
Posted
技术标签:
【中文标题】使 QGraphicsItemGroup 的子级不可选择【英文标题】:Make children of QGraphicsItemGroup unselectable 【发布时间】:2021-10-22 17:52:18 【问题描述】:在我的应用程序中,我正在使用图形视图框架,并且正在创建很多 QGraphicsItemGroup。例如,一组代表一个文本框架,其中包含一些用于调整框架大小的正方形,另一组是一组代表画笔描边的点。我正在实现一个类似于您可以在 Adobe Photoshop 或 Indesign 中找到的选择工具。我实现如下:
在我的场景中,我使用了 itemAt(pos, transform) 函数,其中 pos 是鼠标的当前位置。 另外,我在所有组中调用了 setFiltersChildEvents(True)但是,itemAt 返回的项目有时只是组本身的子项。有没有办法让函数 itemAt() 返回项目的组?或者以另一种方式,使这些孩子无法选择。
【问题讨论】:
请提供minimal reproducible example。 【参考方案1】:如果您正在寻找该项目的组
下面的方法可用于QGraphicsItem
,它返回QGraphicsItemGroup
。使用此组对象并设置所需的。
PySide6.QtWidgets.QGraphicsItem.group()
https://doc.qt.io/qtforpython/PySide6/QtWidgets/QGraphicsItem.html?highlight=qgraphicsitem#PySide6.QtWidgets.PySide6.QtWidgets.QGraphicsItem.group
【讨论】:
以上是关于使 QGraphicsItemGroup 的子级不可选择的主要内容,如果未能解决你的问题,请参考以下文章
如果父级不调用 wait(),则同一父级的两个子级不使用管道进行通信