QT多窗体覆盖产生的视频有关问题, 硊请

QT多窗体覆盖产生的视频问题, 硊请高手指点
   先说一下基本情况,我们一个项目类似于QQ, 主要有两个模块,界面UI是用QT做(qt4.7.3),实际的视频显示是另一个SDK模块,该模块是用的C++开发的库。在显示视频时,UI向SDK传递一个窗口句柄,SDK的显示操作就在该窗口中。SDK库用的是HME_Video.dll, HME_Video_H264D.dll, HME_Video_H263E.dll 等。
    在两个用户视频时,会显示视频窗口,也是类似于QQ的视频聊天。
    UI的视频窗口有三个:A 框架窗口, B 远端视频窗口, C 本地视频窗口
    本地视频窗口是覆盖在远端视频窗口上,视频接通后是正常的。

    产生的问题如下:在windows XP下,如果是将本程序其它Qt的窗口(如关闭提示窗口)移动到视频窗口上, 覆盖的区域就会有视频的闪烁。但是在win 7下又没有问题。

    但是将其它非Qt窗口(如windows查找窗口等)移到视频窗口,则不会有问题.
   
    也在网上找了一些方法,尝试下面这些修改, 但是也没有作用:
    一。设置所有的窗口属性,都设置WS_CLIPSIBLINGS 及 WS_CLIPCHILDREN后
    二。调用windows的API函数设置窗口属性 WS_CLIPSIBLINGS  
         l_dwStyle = l_dwStyle | WS_CLIPSIBLINGS ;
 SetWindowLong(winId(),GWL_EXSTYLE,l_dwStyle);

   请高手指点指点。。。。QT多窗体覆盖产生的视频有关问题, 硊请

------解决方案--------------------
引用:
先说一下基本情况,我们一个项目类似于QQ, 主要有两个模块,界面UI是用QT做(qt4.7.3),实际的视频显示是另一个SDK模块,该模块是用的C++开发的库。在显示视频时,UI向SDK传递一个窗口句柄,SDK的显示操作就在该窗口中。SDK库用的是HME_Video.dll, HME_Video_H264D.dll, HME_Video_H263E.dll 等。
……

这个可以用popupmage吧
------解决方案--------------------
引用:
引用:先说一下基本情况,我们一个项目类似于QQ, 主要有两个模块,界面UI是用QT做(qt4.7.3),实际的视频显示是另一个SDK模块,该模块是用的C++开发的库。在显示视频时,UI向SDK传递一个窗口句柄,SDK的显示操作就在该窗口中。SDK库用的是HME_Video.dll, HME_Video_H264D.dll, HME_Vid……

popupmage 这是什么意思呀?
------解决方案--------------------
这个貌似是你自己程序内部窗口之间覆盖时 引发paintEvent了
是窗口覆盖时 不停的闪烁 还是只是覆盖拖动时才闪烁?
------解决方案--------------------
a、感觉与QObject的paintEvent关系不大,是不是由于GUI中视频播放进程内部原因(比如界面线程独占引起CPU紧张、内存减少引起系统切换)。
b、既然其它的windows界面不影响视频,那么可以确定为GUI程序内原因,并且与qt、视频库关系不大。
期待好的答案。
------解决方案--------------------
最简单的办法 就是installEventFilter
看看闪烁时 是触发的哪些事件  看是否可以把这些事件ignore掉

引用:
引用:这个貌似是你自己程序内部窗口之间覆盖时 引发paintEvent了
是窗口覆盖时 不停的闪烁 还是只是覆盖拖动时才闪烁?
窗口覆盖时,视频窗口部分会闪烁,请问有没有什么方法改进?