QGraphicsPolygonItem масштабируется сверху слева - PullRequest
0 голосов
/ 15 декабря 2011

У меня один вопрос для всех, касающийся масштабирования QGraphicsPolygonItem.

У меня есть полигон (внутри QGraphicsPolygonItem):

QPolygonF p1; 
p1 << QPointF(-4, 32) << QPointF(-4, -32) << QPointF(4, -32) << QPointF(4, 32);
//or
//p1 << QPointF(0, 0) << QPointF(8, 0) << QPointF(8, 64) << QPointF(0, 64);
//whatever, they both doesn't work correctly.

Затем я пытаюсь его масштабировать (setScale (2))и Polygon начинают масштабироваться от центральной точки, а не сверху, слева.Я прочитал документацию о масштабировании Qt и исходных точках, но безрезультатно.В целях тестирования я изменил полигон на прямоугольник - масштабирование работает правильно.

Как масштабировать полигон сверху, слева?

Без масштаба (красный многоугольник, черный прямоугольник): setScale(1) http://forum.sources.ru/uploads/post-10-1323844540-0.png

со шкалой x2: setScale (2) http://forum.sources.ru/uploads/post-10-1323844540-1.png

Спасибо за любую помощь

1 Ответ

0 голосов
/ 15 декабря 2011

То, что вам нужно, это setTransformOriginPoint:

Устанавливает точку начала преобразования в координатах элемента.

...