Название: eventFilter за пределами окна с флагом Qt::Popup. Отправлено: Kurles от Февраля 01, 2012, 06:35 Здравствуйте! Такой вопрос: есть некая форма, с произвольными виджетами, скомпонованными с помощью лейаутов, внизу этой формы блок кнопок:
(http://fotohosting.org/thumb.php?id=60CA_4F286B1A) (http://fotohosting.org/share.php?id=60CA_4F286B1A) Задача: вверху этих кнопок поверх существующих виджетов, без изменения их геометрии, нарисовать еще один блок кнопок. На вскидку задача решается с помощью вывода еще одного окна в нужную нам область экрана, с установленным флагом Qt::Popup, но одна беда: при выводе этого попапа все остальные виджеты, включая нижний ряд кнопок, что критично, перестают получать события от мыши, такие как QEvent::HoverEnter и QEvent::HoverLeave, до того момента, пока попап не закрыт. В какую сторону копать, что бы разрешить нижним кнопкам реагировать на мышиные события до закрытия окна с попапом? Ведь в QtCreator'е как то это реализовано, при выводе попапа нужные ему кнопки подсвечиваются? (http://fotohosting.org/thumb.php?id=671D_4F28AED5) (http://fotohosting.org/share.php?id=671D_4F28AED5) Пытался там подсмотреть, но из тех мегабайтов кода нужный кусок не удалось вычленить :( Название: Re: eventFilter за пределами окна с флагом Qt::Popup. Отправлено: Bepec от Февраля 01, 2012, 08:21 А помоему вы фигней страдаете ;)
Насколько я понимаю, ваш рисунок с Creator'a это обычный modelView, а вовсе не "виджеты нарисованные поверх виджетов". PS ответ на вопрос темы(пусть и какой то странноватый): Просто выводи ещё 1 виджет, и давай ему родителя того, на ком рисовать будешь. Название: Re: eventFilter за пределами окна с флагом Qt::Popup. Отправлено: Kurles от Февраля 01, 2012, 16:24 А помоему вы фигней страдаете ;) Вполне возможно :)Насколько я понимаю, ваш рисунок с Creator'a это обычный modelView, а вовсе не "виджеты нарисованные поверх виджетов". правое окно, где комбобоксы - как раз окно, созданное с флагом Qt::Popup, выводиться поверх QListView, и при этом кнопочки "run", "debug" и "build" получают события от мыши.(http://fotohosting.org/thumb.php?id=4BA5_4F293BD1) (http://fotohosting.org/share.php?id=4BA5_4F293BD1) - на этой картинке вроде чуть более понятно :) PS ответ на вопрос темы(пусть и какой то странноватый): Просто выводи ещё 1 виджет, и давай ему родителя того, на ком рисовать будешь. Примерно так и планирую сделать, если вопрос с Qt::Popup не решиться :)Название: Re: eventFilter за пределами окна с флагом Qt::Popup. Отправлено: Bepec от Февраля 01, 2012, 18:05 А вы не пробовали создать виджет, с родителем QMainWindow(вашим основным окном?).
Насколько я помню, в моей одной программе, реализован такой "блуждающий виджет поверх всех", при этом не относящийся ни к одному компоновщику ;) |