Pregunta

Tengo un QGraphicsView con una imagen y un cursor personalizado. El cursor está hecho de dos QPen-DotLines. Un eje X dotLine y un eje Y dotLine. La cruz de las dos líneas es la posición del ratón-cursor. El problema, cuando el zoom, la cruz no más está bajo la posición del cursor del ratón. Por ejemplo, cuando los valores de la ratón-cursor son x = 1.4235 ans y = 2,7732 entonces los dotLines se fijan en la posición x = 1 e Y = 2. Pero quiero tener los dotLines en la posición de flotación (x = 1,4235 ans y = 2,7732). Cómo puedo hacer eso.

Posición del Ratón llego con

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

y el conjunto dotLines I con setPos (). Creo setPos () convierte flotan a int. Pero no sé cómo evitar. Esperanza de que alguien que tiene una idea útil.

¿Fue útil?

Solución

He encontrado el problema. El tipo que implementa una parte del código antes utilizado "drawEllipse (int x, int y, ancho int, altura int)" y Esto convierte flotan a int. Así que lo único que tenía que hacer es sustituirlo por "drawEllipse (QPointF const y central, qreal rx, ry qreal)". Lo sentimos por las molestias y gracias.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top