找回密码
 立即注册
收起左侧

关于paintEvent()调用问题

3
回复
6212
查看
[复制链接]
累计签到:69 天
连续签到:1 天
来源: 2016-7-7 13:16:52 显示全部楼层 |阅读模式
1Qter豆
在我的测试程序中,只是重写了paintEvent(),并只添加了两行代码

   static int i =1;     qDebug()<< "paintEvent():i=" << i++;

运行程序时,paintEvent会被调用两次
运行后发现,当使用最小化后再点击任务栏还原时,paintEvent被调用了三次
而点击其他窗口使测试窗口失去焦点再还原时,这个过程paintEvent总共被调用了四次
为什么失去焦点时会触发paintEvent,窗口获得焦点时paintEvent会被调用两次?



回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2016-7-13 09:26:21 显示全部楼层
这是重绘事件.

失去焦点  得到焦点..为什么发生重绘..你可以看看源码..

是不是在这2个事件里面 调用了相关的代码
回复

使用道具 举报

累计签到:69 天
连续签到:1 天
2016-7-19 13:26:29 显示全部楼层
a408815041 发表于 2016-7-13 09:26
这是重绘事件.

失去焦点  得到焦点..为什么发生重绘..你可以看看源码..

这个并没有额,我只是添加个静态变量统计还有qDebug()输出次数
我不清楚的是为什么会被调用两次,第一次创建窗口时,以及随后获得焦点时都是被调用两次
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2016-7-22 18:31:02 显示全部楼层
绵丶依 发表于 2016-7-19 13:26
这个并没有额,我只是添加个静态变量统计还有qDebug()输出次数
我不清楚的是为什么会被调用两次,第一次 ...

你重写event  看看调用了哪些事件
回复

使用道具 举报

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

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了