Qt QGraphicsItem 点击子图元,选中父图元 点击子项目 选中父项目

时间:2024-03-28 21:15:37

Qt QGraphicsItem 点击子图元,选中父图元 点击子项目 选中父项目
例如子项目是1,父项目是2,子项目的z值大于父项目。
直接点击2,则2被选中;点击6,2的选中状态取消,6被选中。
那么点击子项目1时,父项目的mousePressEvent并不执行,
如果直接在子项目中调用父项目的setSelected(),虽然可以选中,但是点击3时,4被选中,此时2,4同时被选中,没有直接点击父元件时的效果。
这时,可以在子项目中定义一个带有QGraphicsSceneMouseEvent *event的信号,父项目接收,且在槽函数中调用mousePressEvent(event)即可