美文网首页
Qt频繁调用update()若干时间后无法自动重绘界面的问题

Qt频繁调用update()若干时间后无法自动重绘界面的问题

作者: Caiaolun | 来源:发表于2020-03-16 00:27 被阅读0次

案例1

案例1

案例2

案例2

背景:

各个控件都重置了paintEvent()事件.. 该控件类获取刷新界面时就update()..
一个控件类重置了paintEvent()就有一个update()伴随

Bug1:

界面所有update()的控件暂停刷新, 都卡在同一个刷新节点上..(手动触发刷新任一控件, 所有控件又开始恢复刷新)

Bug2:

界面控件有其一或俩个控件不刷新, 其他控件照常刷新(不刷新的控件手动去触发控件刷新事件, 该控件会被动刷新)

解决办法: 出现这种情况基本是 \color{red}{Qt 代码用法问题}

  1. 控件的刷新数据不可用信号槽传输
  2. 回调函数开启线程都要在主函数上开启
  3. 不在其他线程调用update(),而是在主线程中调用update(), 统一由主函数控制刷新
    \color{red}{多个update()造成有的类paintEvnet()有数据也不刷新界面}

相关文章

网友评论

      本文标题:Qt频繁调用update()若干时间后无法自动重绘界面的问题

      本文链接:https://www.haomeiwen.com/subject/zeaiehtx.html