我想的不知道对不对,菜鸟一思考,老鸟就怪笑!我可不管了...
重画的问题,在于自动产生了paintevent 事件,paintevent事件有好多原因产生,就update也会产生paintevent,我的画图程序,不在 paintevent事件内,因此只要paintevent产生,我画的图就被更新,窗体部件就会被自动重画,也就是被自动清空,所以调出一个对画框来,或进行窗体切换,应该是都激发了paintevent事件,原来画的内容就这样被意外的更新掉了,
因此问题解决的思路有两个
1\将画图程序干脆写在paintevent事件内,这样就会同步更新
这样做的毛病显而易见,因为paintevent太容易被诱惑了,那就会老在重画,这也许就出现闪屏的原因,因为update做了处理,允许积累一定量的update以后在去进入paintevent,所以他妈的要提倡update,而repaint是立竿见影的去更新,所以对一些动画制作来说比较好,而至于QT::WRepaintNoErase,这只是部分的减少了闪屏效果,估计也是让他较少的进入paintevent里边,
2\那就是限制paintevent的产生,最好是由自己控制,