0

画像とカスタムカーソルを備えたQGraphicsViewがあります。カーソルは2つのQPen-DotLineで構成されています。x軸のドットラインとy軸のドットライン。2本の線の交点がマウスカーソルの位置です。問題は、ズームインすると、十字がマウスカーソルの位置より下にないことです。たとえば、マウスカーソルの値がx = 1.4235 ans y = 2.7732の場合、dotLinesは位置x=1およびy=2に設定されます。ただし、dotLinesをfloat位置(x = 1.4235)に設定します。 ans y = 2.7732)。どうやってやるの。

私が得るマウスの位置

def mouseMoveEvent(self,event):
    ...
    ... self.grview.mapToScene(event.pos())
    ...

そして、setPos()で設定したdotLines。setPos()はfloatをintに変換すると思います。しかし、私は回避する方法がわかりません。あなたの誰かが役立つアイデアを持っていることを願っています。

4

1 に答える 1

0

問題を見つけました。以前にコードの一部を実装した人は、「drawEllipse(int x、int y、int width、int height)」を使用しました。これにより、floatがintに変換されます。したがって、私がしなければならなかったのは、それを「drawEllipse(const QPointF&center、qreal rx、qreal ry)」に置き換えることだけです。ご迷惑をおかけして申し訳ございません。

于 2010-09-30T22:47:29.070 に答える