我正在PyQT中创建一个拖放界面,当我拖放并对象进入我的主要QGraphicsView时,我正试图在它被丢弃的那一点绘制该对象。
def dropEvent(self, e):
e.accept()
newobject = Object()
newobject.setPos(e.pos())
self.scene.addItem(newobject)
Object()类是一个QGraphicsItem,它有自己的paint和boundingRect方法。我在QStandardItemModel中表示我的QStandardItem。
现在,当我将一个Object拖放到我的QGraphicsView上时,我发现绘制它的位置不一定与放置项目时鼠标的位置一致。我很困惑,因为我认为:
newobject.setPos(e.pos())
命令会将对象的位置设置为它被丢弃的位置,因此它也会在该位置绘制。任何人都可以向我建议为什么它可能没有出现在正确的位置?