在Windows上使用Qt5进行奇怪的延迟绘画

voi*_*ter 8 c++ qt qt-creator qt5

我在Windows中使用Qt5.我刚在Qt Creator中创建了一个简单的小小部件项目.我有一个QMainWindow文本编辑小部件.我启用了垂直布局,因此文本编辑会消耗主窗口内部的全部大小(这就是我想要的,我正在尝试创建一个小的记事本应用程序).

当我在预览期间拖动主窗口的右下角时(我单击左下角的绿色三角形)我看到子窗口小部件调整大小有点延迟.它没有完全调整与同一渲染帧上的父窗口(似乎后面有1-2个渲染帧).

我记得几年前在旧学校的Win32 API中处理渲染延迟.我记得我必须对屏幕外的位图进行双缓冲渲染才能修复它(或者沿着那些线进行修复;已经很长时间了).

有没有办法在Qt中修复这个"渲染延迟"?我只能想象这是Windows特有的,可能不会影响其他平台,虽然我还没有测试过.如果我需要提供更多信息,请告诉我.

AMA*_*AMA 5

这可能是一个Windows问题,而不是Qt.窗口越重,GUI就越明显.


我刚才调查了同样的问题.我们有一个相当GUI的窗口,有几个小部件显示数据的2D和3D视图.使用右下角调整窗口大小导致重新调整重绘恐怖.不幸的是,问题似乎与Qt无关,而是Windows处理重新调整大小调整窗口的方式.即使在Windows 7上的文件浏览器中,我也能够注意到这个问题.Qt确实默认使用双缓冲(如@Bim的评论中所述).我也试过明确触发Qt的重绘事件.这有点帮助,但没有解决问题.经过多次努力,我们决定与之共存.