在QWidget中设置setUpdatesEnabled(false);关闭自动重绘
在需要时手动重绘时先设置setUpdatesEnabled(true);然后update();
但是没有update()完成的槽函数,导致无法及时setUpdatesEnabled(false);关闭自动重绘
有没有更好的办法实现,完全由自己控制重绘控件
控件是直接调用QWidget生成,不是通过paintEvent绘制
在QWidget中设置setUpdatesEnabled(false);关闭自动重绘
在需要时手动重绘时先设置setUpdatesEnabled(true);然后update();
但是没有update()完成的槽函数,导致无法及时setUpdatesEnabled(false);关闭自动重绘
有没有更好的办法实现,完全由自己控制重绘控件
控件是直接调用QWidget生成,不是通过paintEvent绘制
阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
你好,根据你的问题,我给出以下解决方案:
在QT中,自动重绘是默认行为,为了实现手动重绘,可以通过以下方法关闭自动重绘:
// 关闭自动重绘
setUpdatesEnabled(false);
// 手动重绘
update();
或者使用repaint()函数:
// 手动重绘
repaint();
需要注意的是,关闭自动重绘可能会影响UI的响应性,应根据具体需求选择合适的方法。