本文主要是介绍Qt及Qt Quick开发实战精解项目二俄罗斯方块 rotate失效方法报错,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在qt5中
QGraphicsItem::rotate已经不再使用,而是使用setRotation。
但setRotation设置围绕Z轴的顺时针旋转角度(以度为单位),比如setRotation(90)是旋转90度,但setRotaton不能持续旋转,比如我按旋转按钮时,第一次旋转90度正常,第二次就不动了。
QGraphicsItem还提供了另外一个方法rotation(),返回围绕Z轴的顺时针旋转(以度为单位)。默认值为0(即项目不旋转)。
可以使用这个方法获取到旋转的角度,然后在这个基础上加90度。
case Qt::Key_Up://rotate(90);{qDebug() << rotation();qreal oldRotate = rotation();if (oldRotate >= 360) {oldRotate = 0;}setRotation(oldRotate + 90);qDebug() << rotation();if (isColliding()) {setRotation(oldRotate - 90);}break;}
这篇关于Qt及Qt Quick开发实战精解项目二俄罗斯方块 rotate失效方法报错的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!