我想通过QGraphicsItem
转换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
有人可以确认类似的问题吗?
或者我可以做些什么来在右侧转换我的项目?
编辑:对不起,我忘了说我没有使用此错误报告中描述的动画!
最佳答案
QTransform
包含有关转换的所有信息,包括您希望转换发生的原点。 setTransformOriginPoint()
仅影响简单的函数,例如rotate()
,但不指定来源。
在添加rotate()之前,尝试将translate添加到您的QTransform。
QTransform trans;
trans.translate(500, 250).rotate(value, Qt::YAxis);
item->setTransform(trans);
编辑:
是的,
QTransform
中的QGraphicsItem
使用起来不是很简单。这实际上也限制了您的工作能力。从Qt 4.6开始, QGraphicsTransform
可用于对转换进行更高级别的控制。那可能就是您想要的。关于c++ - QGraphicsItem setTransformOriginPoint似乎被忽略,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11806901/