2016-11-29 4 views
1

gezeichnet zu entfernen Ich versuche, ein einfaches Programm zu machen, in dem ich eine qgraphics Szene hinzugefügt habe und in diesem ich ein QGraphicsRectItem hinzugefügt habe. Ich habe Maus-Presse-Event, Paint Event, Bounding Rect implementiert. Jetzt habe ich einen Punkt auf einer Seite des Rechtecks ​​gezeichnet, da es mehrere Rechteck geben kann, die ich auf dem Bildschirm fallen lassen kann, nur um zwischen ihnen unterschiedlicher Farbe zu unterscheiden. Jetzt kann ich mein Rechteck innerhalb der gesehenen Grafiken bewegen und die Größe des Rechtecks ​​vergrößern, indem ich es von Seite zu Seite bewege. Das Problem, mit dem ich konfrontiert bin, ist, wenn ich versuche, beim Verschieben auf eine Seite des Rechtecks ​​zu zeichnen, hinterlässt es Spuren in der Grafikszene. Kann ich die Geisterlinien entfernen?Wie Ghost Lines in qgraphicsview

Antwort

1

Dies geschieht entweder, weil Ihre Methode boundingRect nicht korrekt ist, oder weil Sie vergessen haben, prepareGeometryChange aufzurufen, bevor Sie Änderungen vornehmen, die sich auf das Ergebnis von boundingRect auswirken. Ihr boundingRect muss beispielsweise Platz für Linienbreiten enthalten. Das ist ein häufiger Fehler.

+0

danke, es hat funktioniert. – sk110