我的QWidget总是“看不见”,尽管它是“alwaysOnTop”

时间:2012-03-21 15:43:12

标签: qt

我有一个窗口小部件。在它上面,我有一个子小部件 - 让我们称之为Widget X 。小部件X有一个简单的小部件作为它的孩子绘制一个特定的图标。 我们称之为Widget Y。

我将widget X的窗口ID传递给第三方组件,该组件在其上投射openGL流视频。

当系统启动时,小部件Y清晰可见,但是,当小部件X上的流视频投影开始时,视频总是显示在小部件Y上,使其不可见。 raise()'y',使它在windowWlag中最顶层没有帮助。

唯一有效的方法是让Y成为桌面的一个孩子(0),并将其全局放在小部件X上。这当然会产生一系列问题,拖动窗口小部件X是其中的一员。这是地狱般的。

在openGL流式视频投影之上,我是否可以做任何事情来保持窗口小部件Y在窗口层次结构中仍然可见?

我已经打了好几天了,没有成功。

1 个答案:

答案 0 :(得分:0)

你的第三方组件可能会在不通知Qt的情况下持续在Widget X上绘画。

您应该看看第三方是否在小部件X上绘制后向您发送任何类型的通知,并作为反应进行QWidget_Y->repaint()