我有一个带有图像和自定义光标的QGraphicsView。光标由两个QPen-DotLines组成。 x轴dotLine和y轴dotLine。两条线的交叉是鼠标光标位置。问题是,当我放大时,十字架不再位于鼠标光标位置下方。例如,当鼠标光标的值为x = 1.4235 ans y = 2.7732时 然后dotLines设置在x = 1和y = 2的位置。但是我想在浮点位置上设置dotLines(x = 1.4235 ans y = 2.7732)。我怎样才能做到这一点。
我得到的鼠标位置
def mouseMoveEvent(self,event):
...
... self.grview.mapToScene(event.pos())
...
和我用setPos()设置的dotLines。 我认为setPos()将float转换为int。但我不知道如何解决。希望你们中的某个人有一个有用的想法。
答案 0 :(得分:0)
我发现了问题。在使用“drawEllipse(int x,int y,int width,int height)”之前实现了一些代码的人,这将float转换为int。所以我唯一要做的就是用“drawEllipse(const QPointF& center,qreal rx,qreal ry)”替换它。 对不起,谢谢你。