原文地址: Qt QWidget播放视频背景图片闪烁
背景
Qt 5.7.0 Mingw,使用第三方 RTC 库实现视频播放(向第三方库传入窗口句柄)
问题
窗口伸缩时,有其他窗口元素与视频窗口交叉显示时,焦点切换时,视频出现闪烁现象
解决办法
- 播放视频的 QWidget 设置, widget->setAttribute(Qt::WA_OpaquePaintEvent);
避免任何不必要的过度重绘背景; - 视频播放时调用 widget->setUpdatesEnabled(false),播放结束之后调用 widget->setUpdatesEnabled(true)。