Pregunta

Me subclases QGraphicsItem y pintura reimplantado.
En pintura escribí algo como esto para el etiquetado de la máquina:

 painter->drawText("Test",10,40);

Después de algún tiempo, creo que puede ser útil para manejar etiquetado con el punto separado. Así que escribí algo como esto.

QGraphicsTextItem *label = new QGraphicsTextItem("TEST",this);
setPos(10,40);

Sin embargo, dos de dibujo "TEST" no aparecen en el mismo lugar en la pantalla. Creo que la diferencia puede estar relacionada con las coordenadas del artículo - coordenadas de la escena. He intentado todo mapFrom ... y ... mapTo combinaciones dentro de la interfaz QGraphicsItem pero no hay progreso. Quiero dibujos a aparecer en el mismo lugar en la pantalla.
Lo que extraño?

¿Fue útil?

Solución

Asumo que está utilizando el mismo tamaño y tipo de fuente en ambos casos. Si la diferencia de posición es muy pequeña que sea la razón puede ser el QGraphicTextItem está usando algo de relleno para el texto que contiene. Me gustaría tratar de utilizar QGraphicsSimpleTextItem que no se va a añadir cosas de fantasía internamente y ver si todavía tiene el mismo problema. El sistema de coordenadas es el mismo si utiliza pintor o setPost de manera que no es el problema. Si esto no ayuda voy a sugerir que entra el rect por tanto para evitar la adición de Qt que posee espacios de separación.

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