作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员
QGraphicsItem 支持很多特性,例如:鼠标、键盘事件、拖放、分组、碰撞检测等。
通常在演示工具中使用分组,当用户想要将多个较小的 items 组合成一个大的 item 时,以简化 items 的移动和复制。
分组方式
分组方式有两种:
-
通过父子关系 - 如果想要将 items 存储在其他 item 内,可以直接将任何 QGraphicsItem 通过为 setParentItem() 传递一个合适的 parent。
-
QGraphicsItemGroup - 提供了一个容器,将一组 items 视为单个 item。
注意: 对于方式一,QGraphicsItem 可以有自己的子 item 对象。但是,QGraphicsItem 没有 API(例如:setItems()、addChild())添加孩子,它只能允许孩子附加到 parent (setParentItem()),想想也挺神奇的。