Russian Qt Forum
Июля 07, 2025, 06:59
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Окно позади всех
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Окно позади всех (Прочитано 4674 раз)
Flakes
Гость
Окно позади всех
«
:
Марта 24, 2008, 12:01 »
У меня многооконный интерфейс, я бы хотел дочернее окошко чтоб всегда было позади всех (загораживалось ими).
Ссылаюсь на пример
http://doc.trolltech.com/4.3/widgets-windowflags.html
, тут как не крути - не получается у меня PreviewWindow сделать не OnTop, необходимо с точностью наоборот.
Записан
Steven_Orko
Гость
Re: Окно позади всех
«
Ответ #1 :
Марта 24, 2008, 12:32 »
Начну с того, что за размещение твоего дочернего окна отвечает вовсе не Qt. Qt при создании окна устанавливает просто специальные атрибуты о том, что разработчик хотел бы расположить это окно либо выше всех, либо ниже.
Менеджер окон читает это свойство и либо располагает это окно так, либо нет.
Так что тут скорее всего вопрос к дейсвующему оконному менеджеру. Без взаимодействия с ним тебе добиться 100% эффекта нужного тебе расположения не получится.
Думаю, для этого (предполагаю, что скорее всего ты в винде) тебе необходимо использовать winapi или привязки к нему для работы с оконным менеджером. Подробнее см. MSDN.
Записан
Flakes
Гость
Re: Окно позади всех
«
Ответ #2 :
Марта 24, 2008, 12:55 »
Хорошо, но почему Qt::WindowStaysOnTopHint для главного окна не дает никакого эффекта и дочернее остается поверх него..
Записан
Flakes
Гость
Re: Окно позади всех
«
Ответ #3 :
Марта 24, 2008, 13:19 »
Я заметил что после перекомпиляции значения флагов сохраняются с прошлого раза, даже если их не устанавливать.
Думаю мне нужно просто установить на ноль Qt::WindowStaysOnTopHint, или установить другой который отменяет первый, но увы я не нашел как это сделать
Записан
Flakes
Гость
Re: Окно позади всех
«
Ответ #4 :
Марта 24, 2008, 14:05 »
все было из за того что окошко дочернее, установил QWidget * parent = 0 - терь как надо
Записан
Flakes
Гость
Re: Окно позади всех
«
Ответ #5 :
Марта 24, 2008, 14:14 »
а нет, фигня, мне лишнее окошко в TaskBar не нужно, проблема не решена
Записан
Flakes
Гость
Re: Окно позади всех
«
Ответ #6 :
Марта 24, 2008, 14:20 »
добил до конца
, прописал Qt::Tool
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...