我有一个子类化的QGraphicsTextItem类作为标签,它有一个不同的子类QGraphicsTextItem的列表,这些作为与另一个类关联的项目符号/行。我已经为标签类实现了mouseMoveEvent和dropEvents,它们工作正常(基本上它只是交换标签和与每个标签相关联的所有项目符号/行)。但是我也希望实现相同的功能,但是要交换单个子弹。
所以我继续为bullet类实现了dropEvent和mouseMoveEvent。当我拖动子弹类时,我看到mouseMoveEvent触发,但是当我将它放在另一个子弹类上时,不会调用dropEvent。我可以将它放在标签类上,注意标签类的dropEvent被调用(在这种情况下我不想做任何事情),但是当我在子弹上放下子弹时没有调用dropEvent。
我确保在两个类中都调用了setAcceptDrops(true)和ItemIsMovable的标志。