2016-11-29 8 views
1

Я пытаюсь создать простую программу, в которой я добавил сцену qgraphics, и в этом я добавил QGraphicsRectItem. Я применил событие нажатия мыши, событие рисования, ограничивающий прямоугольник. Теперь я нарисовал точку на одной стороне прямоугольника, потому что на экране может быть несколько прямоугольников, чтобы просто различать их по разному цвету. Теперь я могу перемещать прямоугольник внутри видимой графики и увеличивать размер прямоугольника, перемещая его по одной стороне за раз. Проблема, с которой я столкнулась, - это когда я пытаюсь нарисовать точку на одной стороне прямоугольника во время ее перемещения, она оставляет следы на графической сцене. я могу удалить линии призрак?Как удалить строки Ghost, нарисованные в qgraphicsview

ответ

1

Это происходит либо потому, что ваш метод boundingRect неверен, либо потому, что вы забыли вызвать prepareGeometryChange перед внесением изменений, которые влияют на результат boundingRect. Например, ваш boundingRect должен включать пространство для ширины линии; это распространенная ошибка.

+0

спасибо, это сработало. – sk110