2012-03-21 4 views
0

У меня есть виджет определенного окна. На нем у меня есть суб-виджет - Назовем этот виджет X. Виджет X имеет простой виджет в качестве своего дочернего элемента, который рисует определенный значок. Назовем это Widget Y.Мой QWidget всегда «невидим», хотя он «alwaysOnTop»

Я передаю идентификатор окна виджета X стороннему компоненту, который создает на нем потоковое видео openGL.

Когда система вставлена, виджет Y хорошо виден, однако, когда потоковая видеопрограмма начинается с виджета X, видео всегда отображается поверх виджета Y, делая его невидимым. raise() 'ing Y, делая его самым верхним в своем окнеFlag не помогает.

Единственное, что работает, заключается в том, чтобы сделать Y дочерним элементом рабочего стола (0) и поместить его глобально над виджетами X. Это, конечно, создает целую массу проблем с перетаскиванием виджета окна X. Это адский.

Не могу ли я что-нибудь сделать, чтобы сохранить виджет Y в иерархии окон и все еще иметь его видимым, поверх потоковой видеопроекции openGL?

Я боролся с этим целыми днями, без успеха.

ответ

0

Ваш сторонний компонент, возможно, красуется на виджет X непрерывно, не сообщая Qt.

Вы должны увидеть, будет ли стороннее лицо посылать вам какое-либо уведомление после того, как оно нарисовано на виджетах X, и сделайте QWidget_Y->repaint() в качестве реакции.

Смежные вопросы