关于QGraphicsView的dropEvent事件触发不了的解决办法
在项目中要使用QGraphicsView的dropEvent事件,但发现死活触发不了。解决办法是:
一、首先在QGraphicsView内,自身要开启setAcceptDrops(True)
二、QGraphicsView的dropEvent自身是直接触发不了的,需要配合自身scene下的item来进行触发,可以在QGraphicsView里创建一个大的背景item,该item可以是QGraphicsItem或者其他item类型,然后该item重载dragEnterEvent事件,如下,这样其他拖入的组件可以被识别到,且QGraphicsView的dropEvent被激活。
def dragEnterEvent(self, QGraphicsSceneDragDropEvent):
QGraphicsSceneDragDropEvent.setAccepted(True)