QT中QWidget类参考!(45)
2023-05-03 来源:飞速影视
通过立即调用paintEvent()来直接重新绘制窗口部件,除非更新是失效的或者窗口部件被隐藏。
如果erase为真,Qt在paintEvent()调用之前擦除区域(x,y,w,h)。
如果w是负数,它被width()-x替换,并且如果h是负数,它被height()-y替换。
如果你需要立即重新绘制,我们建议使用repaint(),比如在动画期间。在绝大多数情况下,update()更好,因为它允许Qt来优化速度并且防止闪烁。
警告:如果你在一个函数中调用repaint(),而它自己又被paintEvent()调用,你也许会看到无线循环。update()函数从来不会产生循环。
也可以参考update()、paintEvent()、updatesEnabled和erase()。
实例:qwerty/qwerty.cpp。
void QWidget::repaint () [槽]
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
这个版本擦除并且重新绘制整个窗口部件。
void QWidget::repaint ( bool erase ) [槽]
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
这个版本重新绘制整个窗口部件。
void QWidget::repaint ( const QRect & r, bool erase = TRUE ) [槽]
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
通过立即调用paintEvent()来直接重新绘制窗口部件,除非更新是失效的或者窗口部件被隐藏。
如果erase为真,擦除窗口部件区域r。
void QWidget::repaint ( const QRegion & reg, bool erase = TRUE ) [槽]
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
通过立即调用paintEvent()来直接重新绘制窗口部件,除非更新是失效的或者窗口部件被隐藏。
如果erase为真,擦除窗口部件区域reg。
如果你需要立即重新绘制,我们建议使用repaint(),比如在动画期间。一连串的多次调用update()将产生一个单一的绘制事件。
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)
www.fs94.org-飞速影视 粤ICP备74369512号