我在 Qt 中有一个主小部件,这个小部件在其中包含一个QGraphicsView和QGraphicsScene。在场景中,我添加了QGraphicsPixmapItems 和QGraphicsTextItems。在我处理的主要小部件QWidget::mouseDoubleClickEvent ( QMouseEvent * event )中,我的项目都设置了以下标志:
mItem->setFlag ( QGraphicsItem::ItemIsMovable );
mItem->setFlag ( QGraphicsItem::ItemIsSelectable );
mItem->setFlag ( QGraphicsItem::ItemIsFocusable);
因为我想在场景中移动项目并选择它们,而且我想在双击发生时主小部件处理它。当我双击QGraphicsTextItem它进入mouseDoubleClickEvent主小部件时,但是当我双击QGraphicsPixmap项目时,它会吸收双击并且不会将其发送到主小部件。此外,当ItemIsFocusable未设置标志时,QGraphicsTextItem也会吸收双击事件。为什么会出现?。
我不想实现QGraphicsItems 的子类并且想使用已经定义的方法。这是我所做的图片:
