Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: ¤Se®ega¤ от Май 10, 2009, 03:46



Название: Окно поверх всех.
Отправлено: ¤Se®ega¤ от Май 10, 2009, 03:46
Подскажите можно ли разместить 2 окна на рабочем столе(одно поверх другого),которые будут поверх ВСЕГО вообще, включая панель задач и диспетчер задач? showFullScreen() и Qt::WindowStaysOnTopHint | Qt::Tool не совсем подходят.


Название: Re: Окно поверх всех.
Отправлено: sendevent от Май 11, 2009, 15:01
Виджет без рамки (пользовательское изменение геометрии надо писать самому), не сворачивается по Win+D, может перекрывать и панель задач, и диспетчер задач:
Код
C++ (Qt)
setWindowFlags( Qt::CustomizeWindowHint|Qt::WindowStaysOnTopHint|Qt::ToolTip );
Под виндой два экземпляра "перекрываются" в порядке получения фокуса, под кде4 - в порядке создания. Как будет выглядеть чайлд такого виджета - плохо представляю.

зж вот и объявился автор модных нынче вирусов (блокирующих виндовз и требующих смску)? :-)


Название: Re: Окно поверх всех.
Отправлено: ¤Se®ega¤ от Май 11, 2009, 15:20
За совет спасибо, за подпись ОГРОМНОЕ спасибо  ;D
По сути да, мне приложение такого рода, как те вирусы, было бы вообще отлично. Но в отличии от них, у меня все будет происходить по согласию пользователя ))) Мне надо чтобы после нажатия на кнопку на главном окне, за ним появлялась форма,закрывающая ВЕСЬ рабочий стол,но не закрывала главного.


Название: Re: Окно поверх всех.
Отправлено: Alex Custov от Май 11, 2009, 15:49
под иксами я использую 1) тултип как показали 2) Qt::X11BypassWindowManagerHint


Название: Re: Окно поверх всех.
Отправлено: sendevent от Май 11, 2009, 15:52
http://img133.imageshack.us/img133/8615/prscr.png (http://img133.imageshack.us/img133/8615/prscr.png)
рабочий стол закрыть-то закроет, но как отлавливать переходы alt-tab'ом - хз... наверное, после показа виджета-"подложки" надо реагировать на изменение своего z-order'а, активировать "подложку" а потом свое главное окно, но врядли это будет красиво.


Название: Re: Окно поверх всех.
Отправлено: FlexoID от Июнь 16, 2009, 22:59
А как не реагировать на Win+D, при этом не оставаясь поверх всех окон (т.е. Qt::ToolTip не катит)