2010-09-30 58 views
0

我有一個帶圖像和自定義光標的QGraphicsView。光標由兩個QPen-DotLine組成。一個x軸dotLine和一個y軸dotLine。兩行的交叉是鼠標光標位置。問題是,當我放大時,交叉點不在鼠標光標位置下方。例如,當鼠標光標的值是x = 1.4235 ans y = 2.7732 那麼dotLines被設置在x = 1和y = 2的位置上。但是我希望dotLines在浮動位置(x = 1.4235 ans y = 2.7732)。我怎樣才能做到這一點。Qt4 QGraphicsView:如何在浮動位置上設置QPen

鼠標位置我得到

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

和dotLines我設定setPos()。 我認爲setPos()將float轉換爲int。但我不知道如何解決。希望你的某個人有一個有用的想法。

+0

當你說「自定義光標」,你實際上是修改系統鼠標指針或做一些在實際鼠標指針下的場景或視圖中繪製? – 2010-09-30 20:54:42

回答

0

我發現了這個問題。在使用「drawEllipse(int x,int y,int width,int height)」之前實現了一些代碼的人將float轉換爲int。所以我唯一需要做的就是用「drawEllipse(const QPointF & center,qreal rx,qreal ry)」替換它。 對不起,謝謝。

+0

很高興你明白了,謝謝你的更新。 – 2010-09-30 23:27:46