repaint与update的区别

Qt的repaint方法会立即调用paintEvent进行重绘,适合动画等需要即时效果的场景,但可能导致无限递归。而update方法则将重绘事件加入主事件循环,优化速度减少闪烁,通常只触发一次paintEvent。了解两者区别有助于优化UI性能。
摘要由CSDN通过智能技术生成

repaint会立刻调用paintEvent重绘,而update是把绘制事件加入主事件循环。

 

Qt文档:

[slot] void QWidget::repaint()

Repaints the widget directly by calling paintEvent() immediately, unless updates are disabled or the widget is hidden.

We suggest only using repaint() if you need an immediate repaint, for example during animation. In almost all circumstances update() is better, as it permits Qt to optimize for speed and minimize flicker.

Warning: If you call repaint() in a function which may itself be called from paintEvent(), you may get infinite recursion. The update() function never causes recursion.

会立刻调用paintEvent()函数来进行重绘,除非这时候不可以update或控件是

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值