Qt界面——闪烁

一、使用setUpdateEnabled

二、在主线程中刷新

 

场景一:一个scroll窗口里面有很多preview窗口,preview窗口在播放内容。拖动scroll滑动块的时候,preview播放内容发生闪烁。

解决办法:

尝试了用本身的Scroll方法,以及用QScrollArea来代替都没有取得很好的成果。主要记录如下:

a..在窗口总高度没有超过可视高度时,无论使不使用QScrollArea都不会闪烁(没有滑动,长度不够)。

b. update()和repaint调用的paintEvent中的确有可能造成闪烁,但是在这里,paintEvent几乎没有做什么操作,

    屏蔽了里面的操作也还是没有解决问题。

c. 不论是使用QScrollArea还是不使用,把画布高度调成sumheight,甚至比sumheight还高的情况下还是会闪烁。

d. 在preview窗口中自己绘制了彩条,在滑动滚动条的时候不会闪烁。

e. 把preview的背景色设置为透明还是闪烁。且将AutoFillBackgound属性设为false还是闪烁。

最后给出的建议是强制不刷新,setUpdateEnabled,然后经过适当的处理之后,现在满

足需求,没有闪烁了。应该是scroll的时候Qt内部会进行重绘,不仅仅是代码中自己

写的paintEvent,而是系统自己的背景处理。

 

场景二:研究preview窗口时码停止刷新的问题。

做了以下方面测试:a. 在下方菜单栏中放两个label,让其同样进行时码刷新。并且打日志记录通道窗口接受到的时码信息。结果是

   一直都在接收

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值