Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Авварон от Апрель 02, 2010, 22:27



Название: Активное окно
Отправлено: Авварон от Апрель 02, 2010, 22:27
Как получить активное на данный момент окно (а точнее, отследить его изменение)
Неужели надо перебрать всех парентов у виджета, получившего фокус?


Название: Re: Активное окно
Отправлено: Авварон от Апрель 02, 2010, 22:54
а, ну собсно QApplication::activeWindow ()
проглядел, когда разглядывал QApplication:(
другое дело, что нет сигнала об его изменении


Название: Re: Активное окно
Отправлено: SABROG от Апрель 02, 2010, 23:54
QFocusEvent::reason() с Qt::ActiveWindowFocusReason или QEvent::WindowActivate не поможет?

Другие варианты:
QEvent::ActivationChange
QEvent::WindowActivate
QEvent::WindowDeactivate
QEvent::ApplicationActivate
QEvent::ApplicationDeactivate


Название: Re: Активное окно
Отправлено: Авварон от Апрель 03, 2010, 00:38
если всё это будет работать без троганья кода окна, то да:)
будет время - повешу эвент фильтр на куаппликейшн и посмотрю что происходит