문제

나는 QMdiSubWindow 그리고 간단히 할 수 있도록 최소화 이벤트를 필터링해야 합니다. hide() 창.

나는 다음을 시도했습니다 :

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

이는 최대화와 같은 모든 창 상태 변경을 필터링합니다.최소화 이벤트가 독점적으로 필요합니다.

event->ignore() 아무것도 무시하지 않습니다.나도 시도했다 event->setAccepted(false), 이벤트 취소에도 실패했습니다.

도움이 되었습니까?

해결책

void accounts::event(QEvent *e)
{
  if (e->type() == QEvent::WindowStateChange) {
    if (isMinimized()) {
      hide();
      e->ignore();
    } else {
      e->accept();
    }
  }
  QMdiSubWindow::event(e);
}
.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top