Qt 2D的问题
今天讲了2D绘图,每画一个图(直线,矩形什么的),用update()来刷新,由此我想做一个图形的移动,每画一次图,更新一次图,但是计算机根本没有时间给你看图,这时我想到了windows下控制台的Sleep()函数,试了,不行,百度了一下,有几个函数,我都试了,还是不行,并且我不理解,有谁懂得,给我讲解一个呗,help~~~
[解决办法]
1.用个定时器,定时刷新,在paintEvent里画出来,每次移动点距离,大概每秒刷新24以上,人眼就看起来像是连贯的,与放电影一样。如果画的费时或刷新很快,比较耗CPU资源。
2.用状态机,需要Qt4.6以上版本,设定几个状态,就会以动画的形式展示出状态变化。
3.如果是更大规模,更高要求的图像处理,考虑用OpenGL吧,运用显卡的硬件加速功能吧。
[解决办法]
刚开始做动画的时候,用属性动画就可以了。查一下QPropertyAnimation的文档就OK,上手快。刚开始就用QStateMachine + QPropertyAnimation,没人指点的话上手慢。