• 9931阅读
  • 3回复

怎样让GraphicsItem 绕中心轴转动 [复制链接]

上一主题 下一主题
离线hu851217
 

只看楼主 倒序阅读 楼主  发表于: 2010-10-08
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
        setTransform(QTransform().rotate(angle,Qt::YAxis));

上面代码可以使Item 绕Y轴转动,我想Item 绕中心轴转动,不知道怎么实现,那位大侠帮帮忙阿!!!!!谢谢阿!!!!!
离线hu851217

只看该作者 1楼 发表于: 2010-10-08
函数


void LauncherButton::animationRotating(int angle)
{

//        QPointF buttonPosParent = pos();
//        QPointF buttonPosfromParent = mapFromParent(buttonPosParent);
//        QPointF buttonSelfPos = mapToItem(this,buttonPosParent);
//        setTransformOriginPoint(boundingRect().center().x(),boundingRect().center().y());

        setTransform(QTransform().rotate(angle,Qt::YAxis));
//        Q_UNUSED(angle);
//        setTransform(QTransform().setMatrix(1,1,1,1,1,1,1,1,1));
}
离线roywillow

只看该作者 2楼 发表于: 2010-10-20
void QGraphicsItem::setRotation ( qreal angle )
这个函数应该能实现围绕z轴旋转
The item is rotated around its transform origin point, which by default is (0, 0). You can select a different transformation origin by calling setTransformOriginPoint().
应该用setTransformOriginPoint()就能设定旋转点了吧

没测试过
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线yleesun

只看该作者 3楼 发表于: 2011-01-13
先把坐标translate到图元的中心,再执行选择,在想反方向translate同样距离!
快速回复
限100 字节
 
上一个 下一个