2012-03-15 4 views
0

왼쪽 도크 영역 크기를 늘릴 때 (수동으로) 메인 창의 크기도 커집니다. 하지만 제한이 없습니다!. 화면 크기보다 더 넓어 질 수 있습니다. 나는 그것을 막고 싶다. 나는 메인 윈도우의 resizeEvent() 메소드를 다시 구현했다. 이것은 내가 시도한 것이다.Qt3에서 크기 조정 이벤트를 무시하는 방법?

void MyMain::resizeEvent(QResizeEvent *e) 
{ 
    if (newMainWindowWidth > screenWidth) 
    { 
      leftDockWindow->setFixedExtentWidth(
        leftDockWidth - (newWidth - screenWidth)); 
      leftDockWindow->adjustSize(); 
      adjustSize(); // flicker effect :(
    } 
} 

이 작동합니다. 하지만 크기를 다시 조절하기 때문에 깜박임 효과가 있습니다. 나는 내가 이벤트를 무시함으로써 이것을 해결할 수 있다고 생각한다. 그러나 나는 그것을 할 길을 찾을 수 없습니다. 도와주세요 !! 감사.

+0

는 최소 크기 대신 고정 된 크기의 정책을 사용하지 않는 이유는 무엇입니까? –

+0

크기를 조정할 수 있어야하므로 고정 크기를 사용할 수 없습니다. 응용 프로그램은 여러 모니터에서 실행됩니다 ... – shan

+0

좋습니다 .. MainWindow의 eventFilter() 메서드를 다시 구현하여 수행 할 수 있습니다. 감사... – shan

답변

0

이 솔루션은 ...

bool MyClass::eventFilter(QObject *obj, QEvent *e) 
{ 
    if (e->type() == QEvent::Resize) 
    { 
     if (obj == myObj) 
     { 
      doSomethingWithObj(); 
      return true; 
     } 
     else 
     { 
      return false; 
     } 
    } 
    else 
    { 
     return QWidget::eventFilter(obj, e);; 
    } 
}