QT--QGraphicsObject的setRotation函数使用
来源:互联网 发布:软件开发年终总结范文 编辑:程序博客网 时间:2024/05/22 08:25
之前使用的QT版本是QT4.5,而现在QT升级了,升级到QT5.X版本,好多函数都进行调整,而且文档写的也不是很清楚,总之好麻烦。
最近在升级之前的一套代码,里面用的了QGraphicsObject类的rotate(qreal angle)函数,该函数的功能很简单,就是根据输入的角度值,使对应的QGraphicsObject对象旋转。这个函数很好用的,不明白为什么到了QT5.X版本,就给去掉了,取而代之的是setRotation(qreal angle)函数,结果替换完之后死活不起作用。
替换完之后,第一次转换是没有问题的,但是后续就不行了。查了好多资料才发现,该函数没有记忆功能,永远都是在初识transform模式下,旋转对应角度。
比如:
如果对象初始角度为0
第一次调用setRotation(90.0); //对象会旋转90度。
第二次再次调用setRotation(90.0); //还是从初始角度开始旋转90度,因此和第一次相比,旋转角度不变。
因此如果希望让对象旋转两次,每次旋转90度,则需要如下调用:
setRotation(90.0); //旋转90度
setRotation(180.0); //旋转180度,即在之前基础上旋转90度。
正确使用方法如下:
void BoxGroup::keyPressEvent(QKeyEvent *event)
{//定义个static 局部变量保存当前的角度值,当旋转时,以当前角度值为起始值static qreal angle = 0;switch(event->key()){
case Qt::Key_Up: //旋转方向setRotation(angle+90.0);angle = angle+90.0;if(isColliding()){
setRotation(angle-90.0);angle = angle-90.0;}
break;}
}
阅读全文
0 0
- QT--QGraphicsObject的setRotation函数使用
- setRotation
- Android中setRotation导致的问题
- Qt中使用show函数的注意事项。
- qt 上使用虚函数的经验
- QT中tr函数的使用
- Qt中使用show函数的注意事项。
- QT的信号和槽函数的使用(一)
- Qt中QDesktopServices::openUrl()函数的简单使用
- Qt Creator+MinGW+boost特殊函数的使用示例
- 使用Qt的QObject函数实现二叉树或多叉树
- Qt的main函数参数使用注意问题
- QT中布局器的addStretch函数使用效果1
- Qt Creator+MinGW+boost特殊函数的使用示例
- QT自定义函数使用UI控件的简单方法
- Qt 中QString类相关函数的使用(2)
- Qt使用QTimer实现函数的周期性执行
- Qt getOpenFileName函数使用详解
- 算法系列——构建乘积数组
- Redis面试总结
- Tyvj1014(区间dp)
- 【微信小程序】的原理与权限
- LSTM 和GRU的区别
- QT--QGraphicsObject的setRotation函数使用
- solr
- Rapidjson学习笔记
- HTML 颜色
- C# ADO.NET动态数据的增删改查(第五天)
- Codevs刷题日记·白银·1501(重制版)
- 拼接平方数--蓝桥杯国赛j历年真题
- 如何安装python模块
- Spring框架——JdbcTemplate(Spring对Jdbc的封装)