setTransformOriginPoint не работает должным образом

Я унаследовал от QGraphicsObject и создал новый класс, который имеет растровое изображение и устанавливает его исходную точку преобразования:

setTransformOriginPoint(boundingRect().center());

Но когда я звоню setRotation() на мой класс (который добавляется к QGraphicsView используя сцену), вращение не использует центр в качестве привязки вращения. Как я могу установить центр, чтобы быть якорем вращения? Спасибо !

Дополнительная информация: вызов метода setRotation () вне функции sceneEvent, с которой он работает, но внутри сцены sceneEvent, после жеста повышения, точка начала не работает.

0

Решение

Нарисуйте растровое изображение в QRect(0, 0, pixmap.width(), pixmap.height(), Используйте этот прямоугольник и для ограничивающего прямоугольника. использование setPos перемещать предмет по сцене. использование setTransformOriginPoint(pixmap.width() / 2, pixmap.height() / 2) установить начальную точку. Эти координаты находятся в координатах элемента, поэтому они должны указывать на центр растрового изображения независимо от положения элемента.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]