1

我正在 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())

命令会将对象的位置设置为它被放置的确​​切位置,因此它也会被绘制在该位置。谁能向我建议为什么它可能没有出现在正确的位置?

4

0 回答 0