Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Flakes от Март 24, 2008, 12:01



Название: Окно позади всех
Отправлено: Flakes от Март 24, 2008, 12:01
У меня многооконный интерфейс, я бы хотел дочернее окошко чтоб всегда было позади всех (загораживалось ими).

Ссылаюсь на пример http://doc.trolltech.com/4.3/widgets-windowflags.html, тут как не крути - не получается у меня PreviewWindow сделать не OnTop, необходимо с точностью наоборот.


Название: Re: Окно позади всех
Отправлено: Steven_Orko от Март 24, 2008, 12:32
Начну с того, что за размещение твоего дочернего окна отвечает вовсе не Qt. Qt при создании окна устанавливает просто специальные атрибуты о том, что разработчик хотел бы расположить это окно либо выше всех, либо ниже.
Менеджер окон читает это свойство и либо располагает это окно так, либо нет.
Так что тут скорее всего вопрос к дейсвующему оконному менеджеру. Без взаимодействия с ним тебе добиться 100% эффекта нужного тебе расположения не получится.
Думаю, для этого (предполагаю, что скорее всего ты в винде) тебе необходимо использовать winapi или привязки к нему для работы с оконным менеджером. Подробнее см. MSDN.


Название: Re: Окно позади всех
Отправлено: Flakes от Март 24, 2008, 12:55
Хорошо, но почему Qt::WindowStaysOnTopHint для главного окна не дает никакого эффекта и дочернее остается поверх него..


Название: Re: Окно позади всех
Отправлено: Flakes от Март 24, 2008, 13:19
Я заметил что после перекомпиляции значения флагов сохраняются с прошлого раза, даже если их не устанавливать.

Думаю мне нужно просто установить на ноль Qt::WindowStaysOnTopHint, или установить другой который отменяет первый, но увы я не нашел как это сделать  :-\


Название: Re: Окно позади всех
Отправлено: Flakes от Март 24, 2008, 14:05
все было из за того что окошко дочернее, установил QWidget * parent = 0 - терь как надо


Название: Re: Окно позади всех
Отправлено: Flakes от Март 24, 2008, 14:14
а нет, фигня, мне лишнее окошко в TaskBar не нужно, проблема не решена  :'(


Название: Re: Окно позади всех
Отправлено: Flakes от Март 24, 2008, 14:20
добил до конца :D, прописал Qt::Tool