Russian Qt Forum
Ноябрь 26, 2024, 09:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Несколько модальных окон? доступ к обычному виджету при наличии модального окна?  (Прочитано 4068 раз)
Denjs
Гость
« : Сентябрь 06, 2010, 02:06 »

Мне надо организовать в приложении панель или окно, которое будет доступно
для пользователя вне зависимости от наличия каких-либо модальных окон.

Пусть мое окно не будет доступно для "активации", но как минимум кнопки на нем должны быть доступны для нажимания
даже в тот момент когда открыто какое-либо модальное окно (QDialog::exec() или QMessageBox::warning() например...).

Есть ли у кого в копилке какой-либо не сильно извращенный способ организовать такую панель ?
собственно сейчас в системе есть ряд модальных окон, и мне не хочется перерабатывать имеющийся код...?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Сентябрь 06, 2010, 08:22 »

Не назначай этому окну парента. Только тогда оно будет еще и на панели задач светиться.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Denjs
Гость
« Ответ #2 : Сентябрь 07, 2010, 11:36 »

Не назначай этому окну парента. Только тогда оно будет еще и на панели задач светиться.
увы, так не выходит.
oн все равно блокируется при выполнении любого QDialog::exec().
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Сентябрь 09, 2010, 06:51 »

Вместо exec используй show.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Prm
Гость
« Ответ #4 : Сентябрь 09, 2010, 07:00 »

Можно еще попробовать установить у окна
Код:
 setWindowModality(Qt::WindowModal);
Записан
Denjs
Гость
« Ответ #5 : Сентябрь 09, 2010, 09:39 »

Цитировать
Вместо exec используй show.
Тогда при появлении нового модального окна будет блокироваться доступ к моему окну.
Цитировать
Можно еще попробовать установить у окна setWindowModality(Qt::WindowModal);
тогда мое окно будет блокироватаь доступ к окнам остального приложения...

В общем пока я так понимю - так никак...
Пока сделал обходной вариант - перехватываю комбинацию клавиш и по ней делаю QDialog::exec() у моего окна. Тогда оно появляется поверх всех осталных модальных окон на то вемя пока оно мне нужно. потом я его просто скрываю и работа приложения продолжается . Пока меня это устраивает...

всем спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.098 секунд. Запросов: 23.