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