Russian Qt Forum

Qt => Общие вопросы => Тема начата: QCasper от Октябрь 21, 2006, 00:05



Название: Спрятать вместо сворачивания
Отправлено: QCasper от Октябрь 21, 2006, 00:05
Как сделать чтобы все окна и диалоги приложения прятались при попытке свернуть его?


Название: Спрятать вместо сворачивания
Отправлено: Dendy от Октябрь 21, 2006, 00:58
Нужно перехватить собьІтие (или отнаследоваться и получить его в QWidget::changeEvent()): QEvent::WindowStateChange

Код:
void MyWidget::changeEvent( QEvent * e )
{
  if ( e->type() == QEvent::WindowStateChange )
  {
    QWindowStateChangeEvent * ce = static_cast<QWidgetStateChangeEvent*>( e );
    if ( (windowState() & Qt::WindowMinimized) && !(e->oldState() & Qt::WindowMinimized) )
      // someone minimize us right now
      hide();
  }
}