拖放项目位置未正确显示

2024-06-17 12:24:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我在PyQT中创建了一个拖放界面,当我将对象拖放到主QGraphicsView中时,我试图在该对象被拖放的位置绘制该对象。你知道吗

    def dropEvent(self, e):
        e.accept()
        newobject = Object()
        newobject.setPos(e.pos())
        self.scene.addItem(newobject)

Object()类是一个QGraphicsItem,它有自己的paint和boundingRect方法。我在qstandarditem模型中表示我的qstandarditem。你知道吗

现在,当我将一个对象拖放到QGraphicsView上时,我发现它的绘制位置不一定与我放置该项时鼠标的位置一致。我很困惑,因为我认为:

 newobject.setPos(e.pos())

命令会将对象的位置精确设置为放置的位置,因此也会在该位置绘制对象。有人能告诉我为什么它没有出现在正确的位置吗?你知道吗


Tags: 对象posself界面objectdef绘制scene