1

QMdiSubWindowウィンドウを単純化できるように、最小化イベントをフィルター処理する必要がありますhide()

私は次のことを試しました:

void accounts::changeEvent ( QEvent *event )
{
     if(event->QEvent::WindowStateChange) {
          event->ignore(); 
     }
}

これにより、最大化など、すべてのウィンドウ状態の変更がフィルター処理されます。最小化イベントのみが必要です。

event->ignore()何も無視しません。も試しevent->setAccepted(false)ましたが、これもイベントのキャンセルに失敗しました。

4

1 に答える 1

4
void accounts::event(QEvent *e)
{
  if (e->type() == QEvent::WindowStateChange) {
    if (isMinimized()) {
      hide();
      e->ignore();
    } else {
      e->accept();
    }
  }
  QMdiSubWindow::event(e);
}
于 2012-07-28T06:53:24.687 に答える