Запретить скрытие окна верхнего уровня, (без наследования) |
Здравствуйте, гость ( Вход | Регистрация )
Запретить скрытие окна верхнего уровня, (без наследования) |
hoRUS |
5.4.2012, 14:58
Сообщение
#1
|
Студент Группа: Участник Сообщений: 30 Регистрация: 10.7.2008 Из: Москва Пользователь №: 231 Спасибо сказали: 5 раз(а) Репутация: 0 |
Можно ли как-нибудь запретить скрытие окна верхнего уровня (когда откуда-нибудь вызывается метод hide() или setVisible(false)), не наследуя класс окна и не переопределяя в вирт. функцию setVisible(bool) ?
Хотелось бы реализовать это с помощью фильтра событий... Но, к сожалению, событие QHideEvent высылается, когда окно уже скрыто. P.S. Исходная задача - анимировать появление/скрытие различных окон. Спасибо. |
|
|
hoRUS |
6.4.2012, 12:17
Сообщение
#2
|
Студент Группа: Участник Сообщений: 30 Регистрация: 10.7.2008 Из: Москва Пользователь №: 231 Спасибо сказали: 5 раз(а) Репутация: 0 |
Если вы имели ввиду сворачивание/разворачивание окна Да нет, хотелось бы перехватывать и обрабатывать по-своему именно неспонтанные события скрытия (hide) именно ДО того, как окно реально скроется. Т.е. те скрытия, которые явно программно вызываются с помощью hide() или setVisible(false). Причем неважно, откуда эти вызовы делались - из своего кода или из недр Qt. Но, видимо, без наследования тут не обойтись. Пока решил проблему, заключив необходимую функциональность максимально в отдельный класс и передав объект этого класса во владение окну, скрытие кот. нужно анимировать. В вирт. ф-ции setVisible() анимируемого окна вызываю нужные методы этого отдельного класса. Это имхо лучше, чем копипастить код в разные классы окон верхнего уровня, главные окна и диалоги, но решение с фильтром событий было бы элегантнее... |
|
|
Текстовая версия | Сейчас: 5.12.2024, 18:28 |