Название: Несколько модальных окон? доступ к обычному виджету при наличии модального окна? Отправлено: Denjs от Сентябрь 06, 2010, 02:06 Мне надо организовать в приложении панель или окно, которое будет доступно
для пользователя вне зависимости от наличия каких-либо модальных окон. Пусть мое окно не будет доступно для "активации", но как минимум кнопки на нем должны быть доступны для нажимания даже в тот момент когда открыто какое-либо модальное окно (QDialog::exec() или QMessageBox::warning() например...). Есть ли у кого в копилке какой-либо не сильно извращенный способ организовать такую панель ? собственно сейчас в системе есть ряд модальных окон, и мне не хочется перерабатывать имеющийся код...? Название: Re: Несколько модальных окон? доступ к обычному виджету при наличии модального окна? Отправлено: Пантер от Сентябрь 06, 2010, 08:22 Не назначай этому окну парента. Только тогда оно будет еще и на панели задач светиться.
Название: Re: Несколько модальных окон? доступ к обычному виджету при наличии модального окна? Отправлено: Denjs от Сентябрь 07, 2010, 11:36 Не назначай этому окну парента. Только тогда оно будет еще и на панели задач светиться. увы, так не выходит.oн все равно блокируется при выполнении любого QDialog::exec(). Название: Re: Несколько модальных окон? доступ к обычному виджету при наличии модального окна? Отправлено: Пантер от Сентябрь 09, 2010, 06:51 Вместо exec используй show.
Название: Re: Несколько модальных окон? доступ к обычному виджету при наличии модального окна? Отправлено: Prm от Сентябрь 09, 2010, 07:00 Можно еще попробовать установить у окна
Код: setWindowModality(Qt::WindowModal); Название: Re: Несколько модальных окон? доступ к обычному виджету при наличии модального окна? Отправлено: Denjs от Сентябрь 09, 2010, 09:39 Цитировать Вместо exec используй show. Тогда при появлении нового модального окна будет блокироваться доступ к моему окну.Цитировать Можно еще попробовать установить у окна setWindowModality(Qt::WindowModal); тогда мое окно будет блокироватаь доступ к окнам остального приложения...В общем пока я так понимю - так никак... Пока сделал обходной вариант - перехватываю комбинацию клавиш и по ней делаю QDialog::exec() у моего окна. Тогда оно появляется поверх всех осталных модальных окон на то вемя пока оно мне нужно. потом я его просто скрываю и работа приложения продолжается . Пока меня это устраивает... всем спасибо. |