|
Qt的assistant里有个教程一,其中的第11章,有关repaint的那部分总是搞不清楚。想请大侠解答一下。
我不明白,cannonRect到底是在什么时候被画上的呢?按照程序来看,只有setAngle和moveShot两个函数中会调用repaint,进而调用paintEvent进行窗口部件的重画工作。可是当程序运行起来后,哪怕是没有执行到setAngle(在main.cpp中,我把可引起setAngle动作的那个signal,即angle->setAngle(60)给注销了),cannonRect还是可以被画上。只是此时cannonRect中的炮筒barrel的角度ang为默认的45度,angle的初始值为5,这些现在都是正常的。我搞不明白的是,那connonRect是在什么时候给画上去的呢?如果不是setAngle和moveShot,那还有哪个函数会引起paintEvent呢?难道有默认的?
期待大侠解答。谢谢! |
|