1

我想QGraphicsItem通过它来转换 a Qt::YAxis,效果很好。

QTransform trans;
trans.rotate (value, Qt::YAxis);
item->setTransformOriginPoint (0,0);
//item->setTransformOriginPoint (500, 250);
item->setTransform (trans);

我遇到的问题是setTransformOriginPoint似乎被忽略了,因为它不起作用。每次我的物品在其左侧变形。但我想通过它的右侧对其进行改造,我认为我受到了这个错误的影响:

https://bugreports.qt-project.org/browse/QTBUG-13378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel

有人可以确认类似的问题吗?

或者我可以做些什么来改变我的物品在它的右侧?

编辑:对不起,我忘了说我没有使用这个错误报告中描述的动画!

4

1 回答 1

2

AQTransform包含有关转换的所有信息,包括您希望发生转换的原点。setTransformOriginPoint()仅影响诸如rotate()未指定来源的简单功能。

在添加旋转()之前尝试将翻译添加到您的 QTransform。

QTransform trans;
trans.translate(500, 250).rotate(value, Qt::YAxis);
item->setTransform(trans);

编辑:

是的,QTransforminQGraphicsItem使用起来不是很简单。你能做的事情也很有限。从 Qt 4.6 开始,QGraphicsTransform可用于对转换进行更高级别的控制。这可能是您正在寻找的。

于 2012-08-04T19:17:11.500 回答