LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2273|回复: 1

请教Qt里repaint、paintEvent的问题

[复制链接]
发表于 2008-4-30 15:48:29 | 显示全部楼层 |阅读模式
  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呢?难道有默认的?
  期待大侠解答。谢谢!
发表于 2008-5-11 23:14:51 | 显示全部楼层
在main函数里的show函数就会调用paintEvent
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表